Skip to content

Instantly share code, notes, and snippets.

@cpetzold
Created January 24, 2012 03:45
Show Gist options
  • Save cpetzold/1667670 to your computer and use it in GitHub Desktop.
Save cpetzold/1667670 to your computer and use it in GitHub Desktop.
var express = require('express')
, HTTPServer = express.HTTPServer
, HTTPSServer = express.HTTPSServer;
exports.step = function(fn) {
(this._bootStack = this._bootStack || []).push(fn);
};
exports.boot = function(fn) {
var self = this
, stack = this._bootStack
, step
, i = 0;
(function next(err) {
if ((step = stack[i++]) && !err) {
step(self, next, module.parent.exports);
} else {
return fn(err);
}
})();
};
for (var key in exports) {
var desc = Object.getOwnPropertyDescriptor(exports, key);
Object.defineProperty(HTTPServer.prototype, key, desc);
Object.defineProperty(HTTPSServer.prototype, key, desc);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment