for / http-middleware-psr15-adapter
PSR15 adapter for react/http middleware
Installs: 11 974
Dependents: 2
Suggesters: 0
Security: 0
Stars: 23
Watchers: 9
Forks: 2
Open Issues: 0
Requires
- php: ^8.1
- psr/http-server-middleware: ^1.0
- react/async: ^4
Requires (Dev)
- phpunit/phpunit: ^9.5
- react/http: ^1.5
README
Wraps PSR-15 middleware using async
and await
from react/async
utilizing fibers making them usable within react/http
as middleware.
Install
To install via Composer, use the command below, it will automatically detect the latest version and bind it with ^
.
composer require for/http-middleware-psr15-adapter
Usage
The following usage example uses middlewares/redirect
adding one redirect,
and using the callback to call several methods on the redirect middleware to change it's behavior:
$server = new Server( /** Other middleware */ new PSR15Middleware( (new Redirect(['/old-url' => '/new-url']))->permanent(false)->query(false)->method(['GET', 'POST']) ), /** Other middleware */ );
Grouped Usage
When using more then one PSR-15 in a row the GroupedPSR15Middleware
is more performing than using multiple PSR15Middleware
. Consider the
following example where we add middlewares/cache
for expires headers:
$loop = Factory::create(); $server = new Server([ /** Other middleware */ (new GroupedPSR15Middleware($loop))->withMiddleware( (new Redirect(['/old-url' => '/new-url']))->permanent(false)->query(false)->method(['GET', 'POST']) )->withMiddleware( new Expires() ), /** Other middleware */ ]);