diff --git a/lib/middleware/urlNotFound.js b/lib/middleware/urlNotFound.js new file mode 100644 index 00000000..9f9735e6 --- /dev/null +++ b/lib/middleware/urlNotFound.js @@ -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); + } +}