constructor (options) {
    this.requestOptions = options.request || {}

    let convertedOptions
    if (!options.kubeconfig) {
      deprecate('Request() without a .kubeconfig option, see ' +
                'https://github.com/godaddy/kubernetes-client/blob/master/merging-with-kubernetes.md')
      convertedOptions = options
    } else {
      convertedOptions = convertKubeconfig(options.kubeconfig)
    }

    this.requestOptions.qsStringifyOptions = { indices: false }
    this.requestOptions.baseUrl = convertedOptions.url
    this.requestOptions.ca = convertedOptions.ca
    this.requestOptions.cert = convertedOptions.cert
    this.requestOptions.key = convertedOptions.key
    if ('insecureSkipTlsVerify' in convertedOptions) {
      this.requestOptions.strictSSL = !convertedOptions.insecureSkipTlsVerify
    }
    if ('timeout' in convertedOptions) {
      this.requestOptions.timeout = convertedOptions.timeout
    }

    this.authProvider = {
      type: null
    }
    if (convertedOptions.auth) {
      this.requestOptions.auth = convertedOptions.auth
      if (convertedOptions.auth.provider) {
        this.requestOptions.auth = convertedOptions.auth.request
        this.authProvider = convertedOptions.auth.provider
      }
    }
  }
Internal representation of HTTP request object.

@param {object} options - Options object
@param {string} options.url - Kubernetes API URL
@param {object} options.auth - request library auth object
@param {string} options.ca - Certificate authority
@param {string} options.cert - Client certificate
@param {string} options.key - Client key
@param {boolean} options.insecureSkipTlsVerify - Skip the validity check
  on the server's certificate.