code: func New(config *Config) (http.RoundTripper, error) {
  	// Set transport level security
  	if config.Transport != nil && (config.HasCA() || config.HasCertAuth() || config.TLS.Insecure) {
  		return nil, fmt.Errorf("using a custom transport with TLS certificate options or the insecure flag is not allowed")
  	}
  
  	var (
  		rt  http.RoundTripper
  		err error
  	)
  
  	if config.Transport != nil {
  		rt = config.Transport
  	} else {
  		rt, err = tlsCache.get(config)
  		if err != nil {
  			return nil, err
  		}
  	}
  
  	return HTTPWrappersForConfig(config, rt)
  }
docs: // New returns an http.RoundTripper that will provide the authentication
  // or transport level security defined by the provided Config.