express catch 404 code example
Example 1: express 404
// Dopo tutte le altre route
app.get('*', function(req, res, next) {
var err = new Error();
err.status = 404;
next(err);
});
app.use(function(err, req, res, next) {
if (err.status === 404) {
var data = {
title: '404 Not Found',
content: 'Oops, page not found!';
};
res.render('pages/404', data);
} else {
return next();
}
});
Example 2: set 404 handling via express in node
app.use(function(req, res, next){
res.status(404);
// respond with html page
if (req.accepts('html')) {
res.render('404', { url: req.url });
return;
}
// respond with json
if (req.accepts('json')) {
res.send({ error: 'Not found' });
return;
}
// default to plain-text. send()
res.type('txt').send('Not found');
});
Example 3: express 404
app.use(function(req, res, next){
res.status(404);
// respond with html page
if (req.accepts('html')) {
res.sendFile('index.html');
return;
}
// respond with json
if (req.accepts('json')) {
res.send({
status: 404,
error: 'Not found'
});
return;
}
// default to plain-text. send()
res.type('txt').send('404 - Not found');
});