Sha256: 7a7e5ed882453189cf05b3eff149aba2cce2d3ee6ddbc54a7d8747641150ec63

Contents?: true

Size: 1.23 KB

Versions: 33

Compression:

Stored size: 1.23 KB

Contents

'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, oncreate) {
    const socket = this[CREATE_HTTPS_CONNECTION](options, oncreate);
    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;

Version data entries

33 entries across 33 versions & 1 rubygems

Version Path
immosquare-cleaner-0.1.60 node_modules/agentkeepalive/lib/https_agent.js
immosquare-cleaner-0.1.59 node_modules/agentkeepalive/lib/https_agent.js
immosquare-cleaner-0.1.58 node_modules/agentkeepalive/lib/https_agent.js
immosquare-cleaner-0.1.57 node_modules/agentkeepalive/lib/https_agent.js
immosquare-cleaner-0.1.56 node_modules/agentkeepalive/lib/https_agent.js
immosquare-cleaner-0.1.55 node_modules/agentkeepalive/lib/https_agent.js
immosquare-cleaner-0.1.54 node_modules/agentkeepalive/lib/https_agent.js
immosquare-cleaner-0.1.53 node_modules/agentkeepalive/lib/https_agent.js
immosquare-cleaner-0.1.52 node_modules/agentkeepalive/lib/https_agent.js
immosquare-cleaner-0.1.51 node_modules/agentkeepalive/lib/https_agent.js
immosquare-cleaner-0.1.50 node_modules/agentkeepalive/lib/https_agent.js
immosquare-cleaner-0.1.49 node_modules/agentkeepalive/lib/https_agent.js
immosquare-cleaner-0.1.48 node_modules/agentkeepalive/lib/https_agent.js
immosquare-cleaner-0.1.47 node_modules/agentkeepalive/lib/https_agent.js
immosquare-cleaner-0.1.46 node_modules/agentkeepalive/lib/https_agent.js
immosquare-cleaner-0.1.45 node_modules/agentkeepalive/lib/https_agent.js
immosquare-cleaner-0.1.44 node_modules/agentkeepalive/lib/https_agent.js
immosquare-cleaner-0.1.43 node_modules/agentkeepalive/lib/https_agent.js
immosquare-cleaner-0.1.42 node_modules/agentkeepalive/lib/https_agent.js
immosquare-cleaner-0.1.41 node_modules/agentkeepalive/lib/https_agent.js