Я использую node-http-proxy, чтобы попытаться проксировать запрос на моем веб-сервере node / express. Я пытаюсь добавить тело к определенному запросу на уровне маршрута, но получаемый мной ответ указывает на то, что req.body не существует.
const proxy = httpProxy.createProxyServer({
changeOrigin: true,
target: process.env.API_URL,
port: 80
});
server.post('/api/login_check', (req, res) => {
req.url = req.url.replace('/api', '');
req.headers['Content-Type'] = 'application/json';
req.headers['accept'] = 'application/json';
req.body = JSON.stringify({
username: process.env.USERNAME,
password: process.env.PASSWORD
});
proxy.web(req, res);
});
Возможно ли это сделать на уровне маршрута с node-http-proxy?





если я правильно вас понял.
proxy.on('proxyReq', function(proxyReq, req, res, options) {
//her you can create condition identifying your path
if (req.body && req.url == "/user" && req.method= = "POST"){
let bodyData = JSON.stringify(req.body);
proxyReq.setHeader('Content-Length', Buffer.byteLength(bodyData));
// Stream the content
proxyReq.write(bodyData);
}
});