workerman里的http协议请求方法有拦截造成不支持webdav的请求方法处理

ncwsky

问题描述

不支持webdav里的请求方法 COPY, MOVE, MKCOL, LOCK, UNLOCK, PROPFIND, PROPPATCH
\workerman\workerman\Protocols\Http.php 114

程序代码或配置

        if (!\in_array($method, ['GET', 'POST', 'OPTIONS', 'HEAD', 'DELETE', 'PUT', 'PATCH'])) {
            $connection->close("HTTP/1.1 400 Bad Request\r\n\r\n", true);
            return 0;
        }

期待的结果及实际结果

在http协议处理的地方有拦截,能否取消掉此限制

735 1 0
1个回答

walkor

workerman不支持webdav,如有需要可以自定扩展

  • ncwsky 2022-10-26

    我已实现了webda的协议处理 主要在workerman里被Http协议请求方法判断的代码给拦截了 直接就返回 400 的状态码

  • ncwsky 2022-10-26

    因为不理解你当前加这段限制的作用 所以才来这里问下你可以否除去这里的限制判断

  • walkor 2022-10-26

    不去除哈,这个是用来检测是否是标准的http协议

  • ncwsky 2022-10-26

    明白了 我只有单独继承下http然后处理下input方法了

年代过于久远,无法发表回答
🔝