node-http-proxy переписывает параметры записи перед пересылкой на целевой сервер - PullRequest
0 голосов
/ 20 сентября 2018

Я использую node-http-proxy .

У меня есть что-то вроде

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))
});

Что я делаю не так?

...