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.
47 lines
1021 B
47 lines
1021 B
|
|
/*! |
|
* Connect - HTTPServer |
|
* Copyright(c) 2010 Sencha Inc. |
|
* Copyright(c) 2011 TJ Holowaychuk |
|
* MIT Licensed |
|
*/ |
|
|
|
/** |
|
* Module dependencies. |
|
*/ |
|
|
|
var HTTPServer = require('./http').Server |
|
, https = require('https'); |
|
|
|
/** |
|
* Initialize a new `Server` with the given |
|
*`options` and `middleware`. The HTTPS api |
|
* is identical to the [HTTP](http.html) server, |
|
* however TLS `options` must be provided before |
|
* passing in the optional middleware. |
|
* |
|
* @params {Object} options |
|
* @params {Array} middleawre |
|
* @return {Server} |
|
* @api public |
|
*/ |
|
|
|
var Server = exports.Server = function HTTPSServer(options, middleware) { |
|
this.stack = []; |
|
middleware.forEach(function(fn){ |
|
this.use(fn); |
|
}, this); |
|
https.Server.call(this, options, this.handle); |
|
}; |
|
|
|
/** |
|
* Inherit from `http.Server.prototype`. |
|
*/ |
|
|
|
Server.prototype.__proto__ = https.Server.prototype; |
|
|
|
// mixin HTTPServer methods |
|
|
|
Object.keys(HTTPServer.prototype).forEach(function(method){ |
|
Server.prototype[method] = HTTPServer.prototype[method]; |
|
}); |