aboutsummaryrefslogtreecommitdiff
path: root/sandbox/testAppNevena/Front/node_modules/agentkeepalive/lib/https_agent.js
diff options
context:
space:
mode:
Diffstat (limited to 'sandbox/testAppNevena/Front/node_modules/agentkeepalive/lib/https_agent.js')
-rw-r--r--sandbox/testAppNevena/Front/node_modules/agentkeepalive/lib/https_agent.js51
1 files changed, 51 insertions, 0 deletions
diff --git a/sandbox/testAppNevena/Front/node_modules/agentkeepalive/lib/https_agent.js b/sandbox/testAppNevena/Front/node_modules/agentkeepalive/lib/https_agent.js
new file mode 100644
index 00000000..73f529d6
--- /dev/null
+++ b/sandbox/testAppNevena/Front/node_modules/agentkeepalive/lib/https_agent.js
@@ -0,0 +1,51 @@
+'use strict';
+
+const OriginalHttpsAgent = require('https').Agent;
+const HttpAgent = require('./agent');
+const {
+ INIT_SOCKET,
+ CREATE_HTTPS_CONNECTION,
+} = require('./constants');
+
+class HttpsAgent extends HttpAgent {
+ constructor(options) {
+ super(options);
+
+ this.defaultPort = 443;
+ this.protocol = 'https:';
+ this.maxCachedSessions = this.options.maxCachedSessions;
+ /* istanbul ignore next */
+ if (this.maxCachedSessions === undefined) {
+ this.maxCachedSessions = 100;
+ }
+
+ this._sessionCache = {
+ map: {},
+ list: [],
+ };
+ }
+
+ createConnection(options) {
+ const socket = this[CREATE_HTTPS_CONNECTION](options);
+ this[INIT_SOCKET](socket, options);
+ return socket;
+ }
+}
+
+// https://github.com/nodejs/node/blob/master/lib/https.js#L89
+HttpsAgent.prototype[CREATE_HTTPS_CONNECTION] = OriginalHttpsAgent.prototype.createConnection;
+
+[
+ 'getName',
+ '_getSession',
+ '_cacheSession',
+ // https://github.com/nodejs/node/pull/4982
+ '_evictSession',
+].forEach(function(method) {
+ /* istanbul ignore next */
+ if (typeof OriginalHttpsAgent.prototype[method] === 'function') {
+ HttpsAgent.prototype[method] = OriginalHttpsAgent.prototype[method];
+ }
+});
+
+module.exports = HttpsAgent;