diff --git a/api/client.go b/api/client.go index 3ebc5195..ee1f03b3 100644 --- a/api/client.go +++ b/api/client.go @@ -57,6 +57,11 @@ func (c *Client) Config() Config { } func NewClient(config Config) *Client { + httpTransport := NewHttpTransport(config) + return NewClientWithTransport(config, httpTransport) +} + +func NewClientWithTransport(config Config, httpTransport *http.Transport) *Client { if config.Address != nil && !strings.HasSuffix(config.Address.Path, "/") { config.Address.Path = config.Address.Path + "/" } @@ -65,8 +70,6 @@ func NewClient(config Config) *Client { config.UserAgent = defaultUserAgent } - httpTransport := newHttpTransport(config) - return &Client{ config: config, httpTransport: httpTransport, diff --git a/api/httpclient.go b/api/httpclient.go index d3977877..fc9d6e74 100644 --- a/api/httpclient.go +++ b/api/httpclient.go @@ -16,7 +16,7 @@ type headerTransport struct { headers map[string]string } -func newHttpTransport(config Config) *http.Transport { +func NewHttpTransport(config Config) *http.Transport { dialContext := config.DialContext if dialContext == nil { dialContext = (&net.Dialer{ @@ -82,6 +82,7 @@ func (c *Client) newHTTPClientWithHeaders(headers map[string]string) *http.Clien base: c.httpTransport, headers: headers, }, + Timeout: 30 * time.Second, } }