Skip to content

Instantly share code, notes, and snippets.

@undoZen
Last active August 29, 2015 14:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save undoZen/311d24f505d0adb5c25a to your computer and use it in GitHub Desktop.
Save undoZen/311d24f505d0adb5c25a to your computer and use it in GitHub Desktop.
var routeProto = require('express/lib/router/route').prototype;
var routerProto = require('express/lib/router');
var methods = require('express/node_modules/methods').concat(['all']);
wrapCallback = function (c) {
return c;
}
methods.forEach(function (method) {
var orig = routeProto[method];
routeProto[method] = function () {
var callbacks = utils.flatten([].slice.call(arguments));
return orig.apply(this, callbacks.map(wrapCallback));
}
});
(function () {
var cache = routerProto.use;
routerProto.use = function (route, fn) {
// default route to '/'
if ('string' != typeof route) {
fn = route;
route = '/';
}
return cache.call(this, route, wrapCallback(fn));
}
}());
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment