nexi
Version:
Nodejs rails-ish port
25 lines (18 loc) • 764 B
JavaScript
const ApiError = require('../../../exceptions/api-error')
const errorHandlerMiddleware = ({ reporter, logger, config }) => {
const errorHandler = (error, req, res, next) => {
if (config.stage === 'development') {
error.displayError = true
}
if (error.statusCode === 404) { return res.status(404).send(new ApiError(error).serialize())}
if (error.validationError) {
const response = new ApiError({ ...error, statusCode: 422, message: 'Validation Errors' })
return res.status(422).send(response.serialize())
}
reporter.error(error, req);
const response = new ApiError(error)
return res.status(response.statusCode).send(response.serialize())
}
return errorHandler
}
module.exports = errorHandlerMiddleware