47 lines
		
	
	
		
			1021 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			47 lines
		
	
	
		
			1021 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*!
							 | 
						||
| 
								 | 
							
								 * 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];
							 | 
						||
| 
								 | 
							
								});
							 |