wyrihaximus/react-http-contextual-middleware-runner

当上下文检查通过时运行一组react/http中间件

1.0.0 2018-07-10 06:09 UTC

README

Build Status Latest Stable Version Total Downloads Code Coverage License PHP 7 ready

安装

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

composer require wyrihaximus/react-http-contextual-middleware-runner

此中间件从请求中移除原始体。最好在请求体解析之后使用。

用法

在以下示例中,CORS 允许在 /css//js/ 中的一切,对于其他一切则回退到 christoph-kluge/reactphp-http-cors-middleware

注意:这是一个来自 WyriMaps.net 的实际用例,其中有一个可嵌入的地图 JSCSS 和图像文件从该域提供。

$server = new Server([
    /** Other Middleware */
    new ContextualMiddlewareRunner(
        function (ServerRequestInterface $request) {
            if (substr($request->getUri()->getPath(), 0, 4) === '/js/') {
                return true;
            }

            if (substr($request->getUri()->getPath(), 0, 5) === '/css/') {
                return true;
            }

            return false;
        },
        [
            new WithHeadersMiddleware([
                'Access-Control-Allow-Origin' => '*',
            ]),
        ],
        [
            // Middleware from christoph-kluge/reactphp-http-cors-middleware, not shipping with this package!!!
            // (But highly reccomended!)
            new CorsMiddleware([
                'allow_origin' => [
                    'https://www.wyrimaps.net',
                ],
            ]),
        ]
    )
    /** Other Middleware */
]);

许可证

MIT 许可证 (MIT)

版权所有 (c) 2018 Cees-Jan Kiewiet

特此授予任何获得此软件及其相关文档副本(“软件”)的人免费使用软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许提供软件的人使用上述权利,前提是遵守以下条件

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

软件按“原样”提供,不提供任何形式的保证,无论是明示的、暗示的,还是关于适销性、特定用途适用性或不侵犯第三方权利的保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论该索赔、损害或其他责任是由合同行为、侵权行为或其他行为引起的,与软件或其使用或其他方式有关。