for/http-middleware-psr15-adapter

react/http 中间件的 PSR-15 适配器

v2.0.0 2022-08-14 21:05 UTC

This package is auto-updated.

Last update: 2024-09-15 14:09:28 UTC


README

CI status

使用 asyncawaitreact/async 包装 PSR-15 中间件,利用 fibers 使其能在 react/http 中作为中间件使用。

安装

通过 Composer 安装,使用以下命令,它将自动检测最新版本并将其绑定到 ^

composer require for/http-middleware-psr15-adapter

用法

以下用法示例使用 middlewares/redirect 添加重定向,并使用回调在重定向中间件上调用多个方法以更改其行为

$server = new Server(
    /** Other middleware */
    new PSR15Middleware(
        (new Redirect(['/old-url' => '/new-url']))->permanent(false)->query(false)->method(['GET', 'POST'])
    ),
    /** Other middleware */
);

分组用法

当连续使用多个 PSR-15 时,与使用多个 PSR15Middleware 相比,GroupedPSR15Middleware 性能更优。考虑以下示例,我们添加 middlewares/cache 以设置过期头。

$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 */
]);