Я хочу написать простой прокси, который сохранит тело конкретного запроса POST в файл.Как получить тело запроса с помощью http-proxy?
Я пробовал 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);
спасибо. Работает с json, но у меня есть тело xml и похоже, что bodyparser не может его прочитать, даже если я настроюсь на 'raw'. Какие-либо предложения? – Derp
это должно выполнить задание: [body-parser-xml] (https://www.npmjs.com/package/body-parser-xml) – mJehanno
Грустно, что 'body-parser' изменяет исходный запрос, по крайней мере, удаляя тело из Это :\ – Derp