如何在Node.js中捕获原始请求

我能够使用下面的源代码在Node.js中捕获原始请求。

var http = require('http'); var express = require('express'); var remote = express(); remote.use(function(req, res, next) { req.socket.once('data', function(data) { console.log(data.toString()); }); next(); }); remote.use(function(req, res, next) { res.end('end'); }); http.createServer(remote).listen(8080); 

但是这个源可以在包含第二个请求之后捕获原始请求,因为第一个请求在绑定事件处理程序之前被消耗了。 如果客户不使用保持活着,我不能捕获任何请求。

我如何捕获原始请求,包括第一个请求?

我在http.Server上find了使用“连接”事件的方法 。

 var http = require('http'); var express = require('express'); var remote = express(); remote.use(function(req, res, next) { res.end('end'); }); var server = http.createServer(remote); server.on('connection', function(socket) { socket.on('data', function(chunk) { console.log(chunk.toString()); }); }); server.listen(8080);