Commit 9e9dc022 authored by Colby Gutierrez-Kraybill's avatar Colby Gutierrez-Kraybill

Merge pull request #132 from colbygk/feature/sentry-integration

Feature/sentry integration
parents e38b8a89 3bf5f8b9
...@@ -28,7 +28,8 @@ ...@@ -28,7 +28,8 @@
"express-http-proxy": "0.6.0", "express-http-proxy": "0.6.0",
"lodash.defaults": "3.1.2", "lodash.defaults": "3.1.2",
"mustache": "2.1.3", "mustache": "2.1.3",
"newrelic": "1.22.1" "newrelic": "1.22.1",
"raven": "0.8.1"
}, },
"devDependencies": { "devDependencies": {
"autoprefixer-loader": "2.1.0", "autoprefixer-loader": "2.1.0",
......
...@@ -33,6 +33,24 @@ for (var routeId in routes) { ...@@ -33,6 +33,24 @@ for (var routeId in routes) {
app.get(route.pattern, handler(route)); 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 // Bind proxies in development
if (process.env.NODE_ENV !== 'production') { if (process.env.NODE_ENV !== 'production') {
var proxyHost = process.env.PROXY_HOST || 'https://staging.scratch.mit.edu'; var proxyHost = process.env.PROXY_HOST || 'https://staging.scratch.mit.edu';
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment