code: function Agent(options) {
    EventEmitter.call(this);
    this.setMaxListeners(0);
  
    options = assign({}, options);
  
    this._settings = options.settings;
    this._log = (options.log || defaultLogger).child({ component: 'http' });
    this.endpoints = {};
  
    // * Using an own HTTPS agent, because the global agent does not look at `NPN/ALPNProtocols` when
    //   generating the key identifying the connection, so we may get useless non-negotiated TLS
    //   channels even if we ask for a negotiated one. This agent will contain only negotiated
    //   channels.
    options.ALPNProtocols = supportedProtocols;
    options.NPNProtocols = supportedProtocols;
    this._httpsAgent = new https.Agent(options);
  
    this.sockets = this._httpsAgent.sockets;
    this.requests = this._httpsAgent.requests;
  }
docs: Agent class -----------