Add loopback.urlNotFound() middleware.
The middleware should be used as the last 3-parameter middleware (regular request handles) before any 4-parameter middleware (error handlers). This way a request to an URL not handled by any middleware is converted to a 404 error that can be handled by whatever error handling strategy is configured in the application. See senchalabs/connect#954 for more details.
This commit is contained in:
parent
94f232172d
commit
7d60b2dea6
|
@ -0,0 +1,18 @@
|
|||
/**
|
||||
* Export the middleware.
|
||||
*/
|
||||
module.exports = urlNotFound;
|
||||
|
||||
/**
|
||||
* Convert any request not handled so far to a 404 error
|
||||
* to be handled by error-handling middleware.
|
||||
* See discussion in Connect pull request #954 for more details
|
||||
* https://github.com/senchalabs/connect/pull/954
|
||||
*/
|
||||
function urlNotFound() {
|
||||
return function raiseUrlNotFoundError(req, res, next) {
|
||||
var error = new Error('Cannot ' + req.method + ' ' + req.url);
|
||||
error.status = 404;
|
||||
next(error);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue