我正在尝试以String或Buffer的形式将HTTP响应解析为Object. 结果将是一个像本机http模块的响应一样的对象. 我尝试导入本机HTTP解析器,但结果对于我的用例来说太原始了: var HTTPParser
          结果将是一个像本机http模块的响应一样的对象.
我尝试导入本机HTTP解析器,但结果对于我的用例来说太原始了:
var HTTPParser = process.binding('http_parser').HTTPParser;
var parser = new HTTPParser(HTTPParser.RESPONSE);
parser.onHeadersComplete = function(res) {
    console.log('onHeadersComplete');
    console.log(res);
};
parser.execute(data, 0, data.length); 
 这会返回这样的东西:
onHeadersComplete
{
   headers: 
   [ 'X-Powered-By',
     'Express',
     'Content-Type',
     'text/plain',
     'Content-Length',
     '2',
     'Date',
     'Sat, 19 Apr 2014 20:16:45 GMT',
     'Connection',
     'keep-alive' ],
  statusCode: 200,
  versionMajor: 1,
  versionMinor: 1,
  shouldKeepAlive: true,
  upgrade: false 
} 
 我的用例缺少两件事:
>与标题值关联的标题名称的映射
>解析响应体
>有谁知道如何实现这一目标?
预先感谢您的帮助 !
你必须填写所有的回调.var HTTPParser = require('http-parser-js').HTTPParser;
var parser = new HTTPParser(HTTPParser.RESPONSE);
parser.onHeadersComplete = function(res) {
    console.log(res.headers);
};
parser.onBody = function(chunk, offset, length) {
    console.log("body", chunk.toString(), offset, length)
}
parser.onMessageComplete = function() {
}
parser.execute(new Buffer('HTTP/1.1 200 OK\r\nContent-Type: text/plain; xya\r\nContent-Length: 11\r\n\r\nhello world'))
        
             