UNPKG

1.58 kBJavaScriptView Raw
1
2module.exports = function({app}){
3
4 //Log all errors
5 app.use(function (err, req, res, next) {
6 if(err.statusCode!=401)
7 console.error("Error", {status: err.statusCode, message: err.message, error: err});
8 next(err);
9 });
10
11 // catch 404 and forward to error handler
12 // app.use(function (req, res, next) {
13 // var err = new Error('Not Found');
14 // err.statusCode = 404;
15 // next(err);
16 // });
17
18 // error handlers
19
20 // development error handler
21 // will print stacktrace
22 if (process.env.NODE_ENV === 'development') {
23 app.use(function (err, req, res, next) {
24 if(req.headers['content-type'] && req.headers['content-type'].indexOf("application/json")>=0){
25 return res.status(err.status || err.statusCode || 500).send({statusCode:err.statusCode,message:err.message});
26 }
27 else(
28 res.status(err.status || err.statusCode || 500).render('error', {
29 message: err.message,
30 error: err
31 })
32 )
33 });
34 }
35
36 // production error handler
37 // no stacktraces leaked to user
38 app.use(function (err, req, res, next) {
39 if(req.headers['content-type'] && req.headers['content-type'].indexOf("application/json")>=0){
40 return res.status(err.status || err.statusCode || 500).send(err);
41 }
42 else(
43 res.status(err.status || err.statusCode || 500).render('error', {
44 message: err.message,
45 error: {}
46 })
47 )
48 });
49}
\No newline at end of file