Wraps PSR-15 middleware using async
and await
from react/async
utilizing fibers making them usable within react/http
as middleware.
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
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 */
);
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 */
]);