I try to handle 503 and 500 errors with ExpressJS but it only works with 404 error.
My middleware :
var error = function(server) {
// 404
server.app.use(function(request, response) {
response.status(404);
response.redirect('/404');
});
// 500
server.app.use(function(error, request, response, next) {
response.status(500);
response.redirect('/500');
next(error);
});
// 503
server.app.use(function(error, request, response, next) {
response.status(503);
response.redirect('/503');
next(error);
});
};
module.exports = error;
Function in my controller (using routes) :
function error500(request, response) {
response.render('0-templates/' + response.locals.options.template + '/500', {
_layoutFile: false,
error: //how to get the error ?
});
}
throw new Error("internal service error")respond withresponse.status(500)or(503)in your routes. Also, what happens when you swap out the first status code with 500 or 503? Is it just running 404 because it's first?