Files
freeCodeCamp/api-server/server/boot/z-not-found.js

24 lines
676 B
JavaScript
Raw Normal View History

2018-05-15 06:12:05 +01:00
import accepts from 'accepts';
import { getRedirectParams } from '../utils/redirection';
2018-05-15 06:12:05 +01:00
export default function fourOhFour(app) {
app.all('*', function(req, res) {
const accept = accepts(req);
const type = accept.type('html', 'json', 'text');
const { path } = req;
const { origin } = getRedirectParams(req);
2018-05-15 06:12:05 +01:00
if (type === 'html') {
req.flash('danger', `We couldn't find path ${path}`);
return res.redirectWithFlash(`${origin}/404`);
2018-05-15 06:12:05 +01:00
}
if (type === 'json') {
return res.status('404').json({ error: 'path not found' });
}
res.setHeader('Content-Type', 'text/plain');
return res.send('404 path not found');
});
}