var app = require('express')();
var http = require('http').Server(app);
nodejs -
, require ( "express" )() return app - .
var proto = require('./application');
exports = module.exports = createApplication;
function createApplication() {
var app = function(req, res, next) {
app.handle(req, res, next);
};
mixin(app, EventEmitter.prototype, false);
mixin(app, proto, false);
app.request = { __proto__: req, app: app };
app.response = { __proto__: res, app: app };
app.init();
return app;
}
, node.createServer eqs Server
exports.createServer = function(requestListener) {
return new Server(requestListener);
};
, app.listen eqs http.listen
app.listen = function listen() {
var server = http.createServer(this);
return server.listen.apply(server, arguments);
};
function Server(requestListener) {
if (!(this instanceof Server)) return new Server(requestListener);
net.Server.call(this, { allowHalfOpen: true });
if (requestListener) {
this.addListener('request', requestListener);
}
this.httpAllowHalfOpen = false;
this.addListener('connection', connectionListener);
this.addListener('clientError', function(err, conn) {
conn.destroy(err);
});