node-http-proxy переписывает параметры записи перед пересылкой на целевой сервер
Я использую узел-http-прокси.
У меня есть что-то вроде
Client ---> Proxy ---> Target Server
Что мне нужно, это способ переписать тело запроса POST, прежде чем отправить его через.
В документации я нашел событие proxyReq
, Но я не могу заставить его работать должным образом.
Из GitHub:
// To modify the proxy connection before data is sent, you can listen
// for the 'proxyReq' event. When the event is fired, you will receive
Код:
proxy.on('proxyReq', function(proxyReq, req, res, options) {
var dataReq = new Buffer('');
req.on('data', function (data) {
// incomming post body
dataReq = Buffer.concat([dataReq, data]);
});
req.on('end', function () {
try {
// make changes
req.query = JSON.parse(dataReq.toString());
req.query.size = 1;
} catch (e) {
console.error(e.message);
}
}).on('error', (e) => {
console.error(`Got error: ${e.message}`);
});
// send new body
// req.query is undefined, because event 'data', 'end' did not fire yet
proxyReq.write(JSON.stringify(req.query))
});
Что я делаю неправильно?