23 lines
		
	
	
		
			570 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			23 lines
		
	
	
		
			570 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|   | import accepts from 'accepts'; | ||
|  | 
 | ||
|  | export default function fourOhFour(app) { | ||
|  |   app.all('*', function(req, res) { | ||
|  |     const accept = accepts(req); | ||
|  |     const type = accept.type('html', 'json', 'text'); | ||
|  |     const { path } = req; | ||
|  | 
 | ||
|  | 
 | ||
|  |     if (type === 'html') { | ||
|  |       req.flash('danger', `We couldn't find path ${ path }`); | ||
|  |       return res.render('404', { title: '404'}); | ||
|  |     } | ||
|  | 
 | ||
|  |     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'); | ||
|  |   }); | ||
|  | } |