Я пытаюсь написать небольшой регистратор API в качестве промежуточного программного обеспечения Express.Регистратор собирает различную информацию из req и res, затем сохраняет файл JSON на диск, который можно прочитать позже.
Это моя текущая функция для хранения журналов.
function store(req, res, next) {
init();
const log = {
request_url: req.hostname,
request_body: req.body,
request_method: req.method,
request_headers: req.headers,
api_endpoint: req.baseUrl,
timestamp: moment().format('x')
};
res.on('finish', () => {
log.response_body = res.body;
log.response_status = res.statusCode;
global.enoch_logs.push(log);
fs.writeFile(`./logs/${ moment().format('x') }.json`, JSON.stringify(log), (err) => (err) ? console.log(err) : null);
});
next();
}
Проблема в том, что res.body всегда пусто.Я пробовал несколько разных методов для захвата тела ответа, но, похоже, ничего не работает.
Куда я иду не так?