我想编写一个简单的代理,它将特定POST请求的主体保存到文件中。
我试过http-proxy,但问题是我不知道如何获得请求的身体。有标题和一些其他信息,但req
对象中没有正文。这就是我现在所拥有的。我检查了我创建的日志文件,但没有看到请求体。
var fs = require('fs'),
http = require('http'),
httpProxy = require('http-proxy');
var proxy = httpProxy.createProxyServer({});
var logger = function () {
return function (request, response) {
var logFile = fs.createWriteStream('./req' + new Date().getTime() + '.log');
proxy.web(request, response, {target: 'http://localhost:8081'});
var cache = [];
logFile.write(
JSON.stringify(request, function (key, value) {
if (typeof value === 'object' && value !== null) {
if (cache.indexOf(value) !== -1) {
// Circular reference found, discard key
return;
}
// Store value in our collection
cache.push(value);
}
return value;
}, 2)
);
}
};
var server = http.createServer(logger());
server.listen(8080);