Skip to content

northwoods/conditional-middleware

Repository files navigation

Northwoods Conditional Middleware

Build Status Code Quality Code Coverage Latest Stable Version Total Downloads License

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.

About

Middleware proxy for request condition checks

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages