mirror of https://github.com/pelias/api.git
Peter Johnson
8 years ago
1 changed files with 11 additions and 5 deletions
@ -1,13 +1,19 @@
|
||||
var logger = require( 'pelias-logger' ).get( 'api' ); |
||||
var check = require('check-types'), |
||||
logger = require( 'pelias-logger' ).get( 'api' ); |
||||
|
||||
// handle application errors
|
||||
function middleware(err, req, res, next) { |
||||
|
||||
logger.error( 'Error: `%s`. Stack trace: `%s`.', err, err.stack ); |
||||
res.header('Cache-Control','public'); |
||||
var error = (err && err.message) ? err.message : err; |
||||
|
||||
if( res.statusCode < 400 ){ res.status(500); } |
||||
res.json({ error: typeof error === 'string' ? error : 'internal server error' }); |
||||
if( res.statusCode < 400 ){ |
||||
logger.info( 'status code changed from', res.statusCode, 'to 500' ); |
||||
res.status(500); |
||||
} |
||||
|
||||
var error = ( err && err.message ) ? err.message : err; |
||||
res.header('Cache-Control','public'); |
||||
res.json({ error: check.nonEmptyString( error ) ? error : 'internal server error' }); |
||||
} |
||||
|
||||
module.exports = middleware; |
||||
|
Loading…
Reference in new issue