hexo/node_modules/agentkeepalive/lib/https_agent.js

43 lines
887 B
JavaScript
Raw Normal View History

2023-09-25 15:58:56 +08:00
/**
* 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;