Merge pull request from colbygk/feature/sentry-integration

Feature/sentry integration
This commit is contained in:
Colby Gutierrez-Kraybill 2015-10-23 14:26:28 -04:00
commit 9e9dc0221d
2 changed files with 20 additions and 1 deletions

View file

@ -28,7 +28,8 @@
"express-http-proxy": "0.6.0",
"lodash.defaults": "3.1.2",
"mustache": "2.1.3",
"newrelic": "1.22.1"
"newrelic": "1.22.1",
"raven": "0.8.1"
},
"devDependencies": {
"autoprefixer-loader": "2.1.0",

View file

@ -33,6 +33,24 @@ for (var routeId in routes) {
app.get(route.pattern, handler(route));
}
if (typeof process.env.SENTRY_DSN === 'string') {
var raven = require('raven');
app.get('/sentrythrow', function mainHandler () { throw new Error('Sentry Test'); });
// These handlers must be applied _AFTER_ other routes have been applied
app.use(raven.middleware.express.requestHandler(process.env.SENTRY_DSN));
app.use(raven.middleware.express.errorHandler(process.env.SENTRY_DSN));
app.use(function errorHandler (err, req, res, next) {
res.append('X-Sentry-ID:' + res.sentry);
res.status(500);
next(err);
});
raven.patchGlobal(process.env.SENTRY_DSN, function () {
process.exit(-1);
});
}
// Bind proxies in development
if (process.env.NODE_ENV !== 'production') {
var proxyHost = process.env.PROXY_HOST || 'https://staging.scratch.mit.edu';