summaryrefslogtreecommitdiff
path: root/app/node_modules/okserver/index.js
diff options
context:
space:
mode:
authorSean Fridman <fridman@mail.sfsu.edu>2015-04-13 13:42:11 -0400
committerSean Fridman <fridman@mail.sfsu.edu>2015-04-13 13:42:11 -0400
commit5b7e5a133e5326a98b974b7e9e390ac393d1a05e (patch)
tree6a7fc0119f79b9467135fc0aac961e2409ddcbf0 /app/node_modules/okserver/index.js
parent741bb035e10a1d89dfaa60ab79d25a63d2ff4726 (diff)
Client friendly error handling
Diffstat (limited to 'app/node_modules/okserver/index.js')
-rw-r--r--app/node_modules/okserver/index.js7
1 files changed, 7 insertions, 0 deletions
diff --git a/app/node_modules/okserver/index.js b/app/node_modules/okserver/index.js
index cf06b3c..abca8b5 100644
--- a/app/node_modules/okserver/index.js
+++ b/app/node_modules/okserver/index.js
@@ -16,6 +16,8 @@ function OKServer(options) {
throw new Error('No admin root directory provided to OKServer');
if (!options.adminPath)
throw new Error('No admin path provided to OKServer');
+ if (!options.errorHandler)
+ throw new Error('No error handler provided to OKServer');
var root = options.root;
var adminRoot = options.adminRoot;
var adminPath = options.adminPath;
@@ -25,6 +27,7 @@ function OKServer(options) {
var router = express.Router({
strict: app.get('strict routing')
});
+ var error = options.errorHandler;
var services = options.services || {};
Object.keys(views)
// Sort such that more general routes are matched last
@@ -67,6 +70,10 @@ function OKServer(options) {
// Make sure this lady is last. Checks whether the desired
// route has a trailing-slash counterpart and redirects there
app.use(slash());
+ // Otherwise it's a 404
+ app.use(function(req, res) {
+ error(req, res, 404)(new Error('No matching route'));
+ });
}
OKServer.prototype.listen = function listen(port) {