我正在尝试将 Bugsnag 添加到我的 Node Restify 服务中。我们已经有大量的路线,所以我尽量不在我们的代码库中添加 Bugsnag 调用,而且我也在尝试做一些全局的事情,这样开发人员就不会忘记添加错误报告。
从概念上讲,我想在any之后res.send()
获得状态码。如果 statusCode >=400 我想通过调用来通知 Bugsnag Bugsnag.notify
。我已经在各处检查错误,因此客户端(浏览器、电话等)不会出现任何错误,但它们确实会被发送,例如,res.send(401, { message: 'You dont have permission to do that' })
我希望能够连接并传递谁试图这样做,什么路线等问题是我根本无法after
触发事件:
server.on('after', function (req, res, route, error) {
console.log('AFTER')
});
我想我误解了什么after
是为了。index.js
在定义任何路由或其他中间件 ( server.use
)之前,它位于我的顶部。
我的一般代码结构如下所示:
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 == 实际创建模型/数据