在响应完成时表示响应有效负载



我有一个Express.JS服务器与许多res.json。为了执行统计、日志记录和调试,我想在一个捕获所有钩子中捕获响应有效负载。

我已经找到了finish事件res.on('finish'),但我找不到如何从中提取响应有效载荷。

res.on('finish')在数据发送后被调用,因此有效负载不必再存在于服务器上。您可以添加中间件来拦截每个请求,然后在调用函数时重写.json方法以记录数据:

router.use('/', (req, res, next) => {
  var old = res.json.bind(res);
  res.json = (body) => {
    //Do whatever
    old(body);
  }
  next();
})

表示响应对象是扩展Nodejs的本地http服务器

你可以在链接中看到它扩展

的确切位置

如果你看Nodejs的官方文档你会发现http服务器在监听连接,关闭,结束等事件

最新更新