You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
853 B
43 lines
853 B
/*! |
|
* 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(); |
|
}; |
|
}; |
|
|
|
|