twitst4tz

twitter statistics web application
Log | Files | Refs | README | LICENSE

init.js (853B)


      1 /*!
      2  * express
      3  * Copyright(c) 2009-2013 TJ Holowaychuk
      4  * Copyright(c) 2013 Roman Shtylman
      5  * Copyright(c) 2014-2015 Douglas Christopher Wilson
      6  * MIT Licensed
      7  */
      8 
      9 'use strict';
     10 
     11 /**
     12  * Module dependencies.
     13  * @private
     14  */
     15 
     16 var setPrototypeOf = require('setprototypeof')
     17 
     18 /**
     19  * Initialization middleware, exposing the
     20  * request and response to each other, as well
     21  * as defaulting the X-Powered-By header field.
     22  *
     23  * @param {Function} app
     24  * @return {Function}
     25  * @api private
     26  */
     27 
     28 exports.init = function(app){
     29   return function expressInit(req, res, next){
     30     if (app.enabled('x-powered-by')) res.setHeader('X-Powered-By', 'Express');
     31     req.res = res;
     32     res.req = req;
     33     req.next = next;
     34 
     35     setPrototypeOf(req, app.request)
     36     setPrototypeOf(res, app.response)
     37 
     38     res.locals = res.locals || Object.create(null);
     39 
     40     next();
     41   };
     42 };
     43