From 78e50547f16e2adb5763a953586d05308d8aba4c Mon Sep 17 00:00:00 2001 From: Douglas Christopher Wilson Date: Mon, 14 Jul 2014 00:06:33 -0400 Subject: [PATCH] Refactor away init middleware --- lib/application.js | 21 ++++++++++++++++++--- lib/middleware/init.js | 26 -------------------------- 2 files changed, 18 insertions(+), 29 deletions(-) delete mode 100644 lib/middleware/init.js diff --git a/lib/application.js b/lib/application.js index 92ff613bdb..5cef13597e 100644 --- a/lib/application.js +++ b/lib/application.js @@ -6,7 +6,6 @@ var finalhandler = require('finalhandler'); var flatten = require('./utils').flatten; var Router = require('./router'); var methods = require('methods'); -var middleware = require('./middleware/init'); var debug = require('debug')('express:application'); var View = require('./view'); var http = require('http'); @@ -100,8 +99,6 @@ app.lazyrouter = function() { caseSensitive: this.enabled('case sensitive routing'), strict: this.enabled('strict routing') }); - - this._router.use(middleware.init(this)); } }; @@ -130,6 +127,24 @@ app.handle = function(req, res, done) { return; } + // set powered by header + if (this.enabled('x-powered-by')) { + res.setHeader('X-Powered-By', 'Express'); + } + + // set circular references + req.res = res; + res.req = req; + + // alter the prototypes + req.__proto__ = this.request; + res.__proto__ = this.response; + + // setup locals + if (!res.locals) { + res.locals = Object.create(null); + } + router.handle(req, res, done); }; diff --git a/lib/middleware/init.js b/lib/middleware/init.js deleted file mode 100644 index c09cf0c69c..0000000000 --- a/lib/middleware/init.js +++ /dev/null @@ -1,26 +0,0 @@ -/** - * Initialization middleware, exposing the - * request and response to eachother, as well - * as defaulting the X-Powered-By header field. - * - * @param {Function} app - * @return {Function} - * @api private - */ - -exports.init = function(app){ - return function expressInit(req, res, next){ - if (app.enabled('x-powered-by')) res.setHeader('X-Powered-By', 'Express'); - req.res = res; - res.req = req; - req.next = next; - - req.__proto__ = app.request; - res.__proto__ = app.response; - - res.locals = res.locals || Object.create(null); - - next(); - }; -}; -