code: func New(info metadata.ClientInfo, options ...ClientOpt) *Client {
  	c := &Client{
  		Info:     info,
  		Handlers: request.DefaultHandlers(),
  		HTTPClient: &http.Client{
  			Timeout: 60 * time.Second,
  			Transport: &http.Transport{
  				Proxy: http.ProxyFromEnvironment,
  				DialContext: (&net.Dialer{
  					Timeout:   1 * time.Second,
  					KeepAlive: 90 * time.Second,
  				}).DialContext,
  				TLSHandshakeTimeout: 3 * time.Second,
  				MaxIdleConns:        100,
  				MaxIdleConnsPerHost: 8,
  				IdleConnTimeout:     90 * time.Second,
  			},
  		},
  	}
  
  	// Apply options
  	for _, option := range options {
  		option(c)
  	}
  
  	return c
  }
docs: // New returns a new client with default Handlers and http client.