在nodejs中parsingchunked-encoded http响应的最好方法是什么?

我必须使用自定义方法名称STATS ,它不受nodejs http模块的支持。

所以,我决定使用TCP套接字:

 feed.socket = net.createConnection(config.port, config.host); feed.socket.on('connect', function() { feed.socket.write( 'STATS / HTTP/1.1\r\n' + 'Authorization: Basic ' + new Buffer(config.user + ':' + config.password).toString('base64') + '\r\n' + 'User-Agent: custom-http-client/0.0.1\r\n' + 'Host: ' + config.host + '\r\n' + 'Accept: */*\r\n\r\n' ); }); feed.socket.on('data', function(chunk) { console.log(chunk.toString()); }); 

我执行连接后,服务器发送标题,然后开始通过持续连接发送数据块:

 HTTP/1.1 200 OK Server: nginx/1.6.2 Date: Wed, 07 Oct 2015 13:23:54 GMT Transfer-Encoding: chunked Connection: keep-alive Capability: streamlist stats 1fcf // data size ...DATA... 

我可以检测和忽略标题,我可以连接来自不同块的string行,但手动处理数据大小是非常复杂的,这是大块发送。

也许有一个解决scheme,可以处理标题,分块编码数据和逐行返回数据?