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

Что я делаю неправильно?

0 ответов

Другие вопросы по тегам