northwoods/conditional-middleware

请求条件检查的中间件代理

1.0.0 2018-10-17 14:24 UTC

This package is auto-updated.

Last update: 2024-09-18 03:54:57 UTC


README

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

根据请求条件执行中间件的中间件代理。

安装

安装和使用此包的最佳方式是使用 composer

composer require northwoods/conditional-middleware

用法

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';
});

在此示例中,被包装的 $actual 中间件仅在请求接受 application/json 内容类型时才会执行。

条件调用

条件调用应使用以下签名

function (Request $request): bool;

条件必须返回 true(通过严格 === 比较)以执行包装的中间件。如果条件检查失败,则立即调用处理器。