我正在尝试将Bugsnag添加到我的Node Restify服务中。我们已经有很多路线了,所以我试图不在我们的代码库中添加Bugsnag调用,而且我也在尝试做一些全局的事情,所以开发人员忘记添加错误报告时从来没有犯过错误。Restify中的res.send()事件之后?
从概念上说,我想要后任何res.send()
获得状态码。如果statusCode> 400,我想通过调用Bugsnag.notify
来通知Bugsnag。我已经检查了各处的错误,所以没有错误显示给客户端(浏览器,电话等),但它们确实发送了,例如,res.send(401, { message: 'You dont have permission to do that' })
,我希望能够挂钩并通过谁试图做到这一点是什么路线等问题,我不能得到after
事件在所有消防:
server.on('after', function (req, res, route, error) {
console.log('AFTER')
});
我想我误会什么after
是。在定义任何路由或其他中间件(server.use
)之前,它位于我的index.js
的顶部。
我一般的代码结构看起来是这样的:
server.post('/foo', function (req, res, next) {
FooPolicy.create(req, function (err) {
if (err) return res.send(err.code, err.data);
FooController.create(req.params, function (response) {
res.send(response.code, response.data)
next();
});
});
});
FooPolicy ==检查权限
FooController的==实际创建模型/数据