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)

版权所有 © 2018 Cees-Jan Kiewiet

在此特此授予任何获得此软件及其相关文档副本(“软件”)的个人免费使用软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许向软件提供的人进行此类操作,但受以下条件约束

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

本软件按“原样”提供,不提供任何形式的保证,无论是明示的还是暗示的,包括但不限于适销性、针对特定目的的适用性和非侵权性。在任何情况下,作者或版权所有者不对任何索赔、损害或其他责任负责,无论源于合同、侵权或其他原因,是否与软件或其使用或其他交易有关。