Я использую http-proxy-middleware для реализации прозрачного прокси.
Я бы хотел сделать проверку запроса / ответа. Я имею в виду, что я хотел бы напечатать в текстовом файле запросы / ответы, которые проходят через прокси-сервер без каких-либо изменений в них.
До сих пор я использую нечто подобное (упрощенная версия):
app.use('/proxy/:service/', proxy({
pathRewrite: function(path, req){
...
},
router: function(req) {
...
},
onProxyRes: function(proxyRes, req, res) {
log("Req URL: " + req.originalUrl);
log("Response status code: " + proxyRes.statusCode);
}
}));
(log()
- вспомогательная функция, которая использует строку в качестве входных данных и печатает это мой файл журнала)
Таким образом, в основном я использую onProxyRes
для перехвата ответа и ведения журнала в этот момент. Проблема в том, что мне удалось заставить его работать только для таких вещей, как URL, код состояния, заголовки и т. Д., Но я не нашел тела полезной нагрузки в req
и / или resProxy
объектах.
Я читал о том, как получить res
тело здесь . Однако это кажется сложным решением (необходимо установить обработчик события data
). И, насколько я понимаю, это не покрывает тело req
.
Любая подсказка / помощь / ссылка высоко ценится, пожалуйста. Не уверен, что даже использование onProxyRes
является наилучшим способом реализации этого, может быть, библиотека предоставляет некоторые функциональные возможности для покрытия случая запрос / ответ.