这是叉子
http-parser-js不依赖node:buffer并转换为无害环境管理
HTTP 解析器
此库为请求和响应解析 HTTP 协议 .
它是为了取代 http_parser.c 因为从JS调用C++功能在V8中确实很慢.
然而,在处理不符合严格的HTTP解析规则节点的解析器的遗留服务时,现在主要需要有一个更加灵活/宽容的HTTP解析器.
这被包装为一个独立的 npm 模块 . 用于节点,猴帕克HTTPParser.
// Monkey patch before you require http for the first time.
process.binding('http_parser').HTTPParser = require('http-parser-js').HTTPParser;
var http = require('http');
// ...
测试
随便跑 npm test。 。 。 .
测试从节点和mscedex/io.js复制,并附有一些可调用.
状态
它现在应该可用于任何节点应用程序,现在它支持(接近)一切 http_parser.c 却仍然容忍 腐败的头, 和其他类型的错误的数据.
节点版本
http-parser-js 应该通过在Node v6-v11和v13-14上用猴子相扑来工作.
节点 v12.x 将内部的 http parser 重新命名 , 并且没有以 猴子相拍的方式将其曝光, 所以要能在节点 v12 上 猴子相拍, 你必须运行 node --http-parser=legacy file.js 选择使用旧的、可按猴子排列的 http parser 绑定.
独立使用
虽然这个模块的用意是用来替代内部的Node.js parser,但可以作为独立的parser. 这个 standalone-example.js 演示如何使用有些尴尬的API(来自与节点.js内部的相容性)从原始缓冲解析出HTTP.
许可证
麻省理工学院. 见 利比里亚