diff --git a/middleware/408.js b/middleware/408.js index efe0c64b..ffbb6066 100644 --- a/middleware/408.js +++ b/middleware/408.js @@ -2,10 +2,11 @@ // handle time out errors function middleware(err, req, res, next) { res.header('Cache-Control','no-cache'); - - if( res.statusCode === 408 || (err.message.toLowerCase().indexOf('request timeout') !== -1) ){ + var error = (err && err.message) ? err.message : err; + + if( res.statusCode === 408 || (error.toLowerCase().indexOf('request timeout') !== -1) ){ res.status(408); - res.json({ error: err && typeof err.message === 'string' ? err.message : 'request time out' }); + res.json({ error: typeof error === 'string' ? error : 'request timeout' }); } else { next(err); } diff --git a/middleware/500.js b/middleware/500.js index 0a423810..cc3f8325 100644 --- a/middleware/500.js +++ b/middleware/500.js @@ -4,9 +4,10 @@ var logger = require( 'pelias-logger' ).get( 'middleware-500' ); function middleware(err, req, res, next) { logger.error( 'Error: `%s`. Stack trace: `%s`.', err, err.stack ); res.header('Cache-Control','no-cache'); - var error = err.message ? err.message : err; + var error = (err && err.message) ? err.message : err; + if( res.statusCode < 400 ){ res.status(500); } - res.json({ error: err && typeof err.message === 'string' ? err.message : 'internal server error' }); + res.json({ error: typeof error === 'string' ? error : 'internal server error' }); } module.exports = middleware; diff --git a/package.json b/package.json index 7de7eca9..df28593e 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "pelias-api", "author": "mapzen", - "version": "2.1.0", + "version": "2.2.0", "description": "Pelias API", "homepage": "https://github.com/pelias/api", "license": "MIT",