ncc-prototype-email-alerts-sub
Version:
Northumberland Council Front End Email Alerts Subscription Prototype
20 lines (19 loc) • 972 B
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.errorHandlerMiddleware = void 0;
const logger_1 = __importDefault(require("../libs/logger"));
const errorHandlerMiddleware = (error, req, res, next) => {
var _a;
let statusCode = (error.status || ((_a = error.response) === null || _a === void 0 ? void 0 : _a.status)) || 500;
if (error.message && error.message.includes('template')) {
statusCode = 404;
}
const message = statusCode === 500 ? 'Internal Server Error' : error.message || 'Bad Request';
logger_1.default.error(`Error occurred with status ${statusCode} and message: ${message} ${next}`);
const errorPage = statusCode === 404 ? '/error404' : '/error500';
return res.redirect(errorPage);
};
exports.errorHandlerMiddleware = errorHandlerMiddleware;