43 lines
		
	
	
		
			887 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			887 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
/**
 | 
						|
 * Https Agent base on custom http agent
 | 
						|
 */
 | 
						|
 | 
						|
'use strict';
 | 
						|
 | 
						|
const https = require('https');
 | 
						|
const HttpAgent = require('./agent');
 | 
						|
const OriginalHttpsAgent = https.Agent;
 | 
						|
 | 
						|
class HttpsAgent extends HttpAgent {
 | 
						|
  constructor(options) {
 | 
						|
    super(options);
 | 
						|
 | 
						|
    this.defaultPort = 443;
 | 
						|
    this.protocol = 'https:';
 | 
						|
    this.maxCachedSessions = this.options.maxCachedSessions;
 | 
						|
    if (this.maxCachedSessions === undefined) {
 | 
						|
      this.maxCachedSessions = 100;
 | 
						|
    }
 | 
						|
 | 
						|
    this._sessionCache = {
 | 
						|
      map: {},
 | 
						|
      list: [],
 | 
						|
    };
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
[
 | 
						|
  'createConnection',
 | 
						|
  'getName',
 | 
						|
  '_getSession',
 | 
						|
  '_cacheSession',
 | 
						|
  // https://github.com/nodejs/node/pull/4982
 | 
						|
  '_evictSession',
 | 
						|
].forEach(function(method) {
 | 
						|
  if (typeof OriginalHttpsAgent.prototype[method] === 'function') {
 | 
						|
    HttpsAgent.prototype[method] = OriginalHttpsAgent.prototype[method];
 | 
						|
  }
 | 
						|
});
 | 
						|
 | 
						|
module.exports = HttpsAgent;
 |