12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- /**
- * 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;
|