Centralize common headers, this will help up to move biz metrics out of the process
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
'use strict';
|
||||
|
||||
const setCommonHeaders = require('../../utils/common-headers');
|
||||
|
||||
module.exports = function errorMiddleware (/* options */) {
|
||||
return function error (err, req, res, next) {
|
||||
const { logger } = res.locals;
|
||||
@@ -7,21 +9,23 @@ module.exports = function errorMiddleware (/* options */) {
|
||||
|
||||
logger.error({ error: errors });
|
||||
|
||||
const errorResponseBody = {
|
||||
errors: errors.map(errorMessage),
|
||||
errors_with_context: errors.map(errorMessageWithContext)
|
||||
};
|
||||
setCommonHeaders(req, res, () => {
|
||||
const errorResponseBody = {
|
||||
errors: errors.map(errorMessage),
|
||||
errors_with_context: errors.map(errorMessageWithContext)
|
||||
};
|
||||
|
||||
// If a callback was requested, force status to 200
|
||||
res.status(req.query.callback ? 200 : findStatusCode(errors[0]));
|
||||
// If a callback was requested, force status to 200
|
||||
res.status(req.query.callback ? 200 : findStatusCode(errors[0]));
|
||||
|
||||
if (req.query && req.query.callback) {
|
||||
res.jsonp(errorResponseBody);
|
||||
} else {
|
||||
res.json(errorResponseBody);
|
||||
}
|
||||
if (req.query && req.query.callback) {
|
||||
res.jsonp(errorResponseBody);
|
||||
} else {
|
||||
res.json(errorResponseBody);
|
||||
}
|
||||
|
||||
return next();
|
||||
return next();
|
||||
});
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user