Northwoods Conditional Middleware
October 17, 2018 ยท View on GitHub
Middleware proxy that executes a middleware based on request conditions.
Installation
The best way to install and use this package is with composer:
composer require northwoods/conditional-middleware
Usage
use Northwoods\Middleware\ConditionalMiddleware;
/** @var \Psr\Http\Server\MiddlewareInterface */
$actual = /* any existing middleware */
$middleware = new ConditionalMiddleware($actual, function (Request $request): bool {
return $request->getHeaderLine('accept') === 'application/json';
});
In this example, the wrapped $actual middleware will only be executed if the
request accepts the application/json content type.
Condition Callable
The condition callable should use the following signature:
function (Request $request): bool;
The condition must return true (by strict === comparison) for the wrapped
middleware to be executed. If the condition check fails the handler will be
called immediately.

