我能够使用下面的源在 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);
Run Code Online (Sandbox Code Playgroud)
但是这个源可以在(包括)第二个请求之后捕获原始请求,因为第一个请求在绑定事件处理程序之前被消耗。如果客户端不使用保持活动状态,我将无法捕获任何请求。
如何捕获原始请求,包括第一个请求?