http-parser-js

A pure JS HTTP parser for node.

  • 所有者: node-ffi/node-ffi
  • 平台:
  • 許可證: MIT License
  • 分類:
  • 主題:
  • 喜歡:
    0
      比較:

Github星跟蹤圖

HTTP Parser

This library parses HTTP protocol for requests and responses. It was created to replace http_parser.c since calling C++ function from JS is really slow in V8. However, it is now primarily useful in having a more flexible/tolerant HTTP parser when dealing with legacy services that do not meet the strict HTTP parsing rules Node's parser follows.

This is packaged as a standalone npm module. To use in node, monkeypatch 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');
// ...

Testing

Simply do npm test. The tests are copied from node and mscedex/io.js, with some modifcations.

Status

This should now be usable in any node application, it now supports (nearly) everything http_parser.c does while still being tolerant with corrupted headers, and other kinds of malformed data.

Node Versions

http-parser-js should work via monkey-patching on Node v6-v11, and v13.

Node v12.x renamed the internal http parser, and did not expose it for monkey-patching, so to be able to monkey-patch on Node v12, you must run node --http-parser=legacy file.js to opt in to the old, monkey-patchable http_parser binding.

License

MIT. See LICENSE.md

主要指標

概覽
名稱與所有者node-ffi/node-ffi
主編程語言JavaScript
編程語言JavaScript (語言數: 4)
平台
許可證MIT License
所有者活动
創建於2009-12-05 17:23:17
推送於2023-07-15 04:15:33
最后一次提交2019-01-25 10:27:00
發布數43
最新版本名稱2.3.0 (發布於 )
第一版名稱v0.3.1 (發布於 )
用户参与
星數4.3k
關注者數101
派生數410
提交數838
已啟用問題?
問題數562
打開的問題數230
拉請求數25
打開的拉請求數17
關閉的拉請求數41
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?