github.com/cloudcredo/cloudrocker@v0.0.0-20160108110610-1320f8cc2dfd/sample-apps/node/node_modules/express/lib/express.js (about) 1 /** 2 * Module dependencies. 3 */ 4 5 var EventEmitter = require('events').EventEmitter; 6 var mixin = require('utils-merge'); 7 var proto = require('./application'); 8 var Route = require('./router/route'); 9 var Router = require('./router'); 10 var req = require('./request'); 11 var res = require('./response'); 12 13 /** 14 * Expose `createApplication()`. 15 */ 16 17 exports = module.exports = createApplication; 18 19 /** 20 * Create an express application. 21 * 22 * @return {Function} 23 * @api public 24 */ 25 26 function createApplication() { 27 var app = function(req, res, next) { 28 app.handle(req, res, next); 29 }; 30 31 mixin(app, proto); 32 mixin(app, EventEmitter.prototype); 33 34 app.request = { __proto__: req, app: app }; 35 app.response = { __proto__: res, app: app }; 36 app.init(); 37 return app; 38 } 39 40 /** 41 * Expose the prototypes. 42 */ 43 44 exports.application = proto; 45 exports.request = req; 46 exports.response = res; 47 48 /** 49 * Expose constructors. 50 */ 51 52 exports.Route = Route; 53 exports.Router = Router; 54 55 /** 56 * Expose middleware 57 */ 58 59 exports.query = require('./middleware/query'); 60 exports.static = require('serve-static'); 61 62 /** 63 * Replace removed middleware with an appropriate error message. 64 */ 65 66 [ 67 'json', 68 'urlencoded', 69 'bodyParser', 70 'compress', 71 'cookieSession', 72 'session', 73 'logger', 74 'cookieParser', 75 'favicon', 76 'responseTime', 77 'errorHandler', 78 'timeout', 79 'methodOverride', 80 'vhost', 81 'csrf', 82 'directory', 83 'limit', 84 'multipart', 85 'staticCache', 86 ].forEach(function (name) { 87 Object.defineProperty(exports, name, { 88 get: function () { 89 throw new Error('Most middleware (like ' + name + ') is no longer bundled with Express and must be installed separately. Please see https://github.com/senchalabs/connect#middleware.'); 90 }, 91 configurable: true 92 }); 93 });