| /*! |
| * express |
| * Copyright(c) 2009-2013 TJ Holowaychuk |
| * Copyright(c) 2013 Roman Shtylman |
| * Copyright(c) 2014-2015 Douglas Christopher Wilson |
| * MIT Licensed |
| */ |
| |
| 'use strict'; |
| |
| /** |
| * Module dependencies. |
| * @private |
| */ |
| |
| var setPrototypeOf = require('setprototypeof') |
| |
| /** |
| * Initialization middleware, exposing the |
| * request and response to each other, 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; |
| |
| setPrototypeOf(req, app.request) |
| setPrototypeOf(res, app.response) |
| |
| res.locals = res.locals || Object.create(null); |
| |
| next(); |
| }; |
| }; |
| |