27 lines
635 B
JavaScript
Executable File
27 lines
635 B
JavaScript
Executable File
import argv from '../argv.js';
|
|
import initLogger from '../logger.js';
|
|
|
|
const logger = initLogger();
|
|
|
|
export default function errorHandler(error, req, res, _next) {
|
|
logger.warn(`Failed to fulfill request to ${req.path} (${error.httpCode || 500}): ${error.message}`);
|
|
|
|
if (argv.debug) {
|
|
logger.error(error);
|
|
}
|
|
|
|
if (error.httpCode) {
|
|
res.status(error.httpCode).send({
|
|
statusCode: error.httpCode,
|
|
statusMessage: error.message,
|
|
});
|
|
|
|
return;
|
|
}
|
|
|
|
res.status(500).send({
|
|
statusCode: 500,
|
|
statusMessage: 'Oops... our server messed up. We will be investigating this incident, our apologies for the inconvenience.',
|
|
});
|
|
}
|