【发布时间】:2015-05-15 19:36:34
【问题描述】:
我想创建一些中间件来记录所有路由的请求正文和响应正文。记录请求是直截了当的,但是,我似乎无法得到响应。 res.on('end') 不会发出任何数据,我也没有看到任何与 express 相关的东西会发出或应用它。有人对如何实现这一点有任何建议吗?
编辑:根据 kook 回答中的链接,我想出了这个,这似乎运作良好。
app.use(function(req, res, next) {
var send = res.send;
res.send = function(body){
console.log(body);
res.send = send;
res.send(body);
};
next();
});
【问题讨论】:
-
似乎不想工作。我的设置为
app.use(/myroute, myroute); app.use(seeResDotSend)。我在seeResDotSend里面有一个console.log,作为第一行,它触发得很好。但它似乎永远不会到达res.send = function(body) { ... }中的console.log。我做错了什么?