Merge pull request #36270 from dperny/fix-client-tls
Fix TLS from environment variables in client
This commit is contained in:
commit
bc17d0724a
1 changed files with 14 additions and 15 deletions
|
@ -133,23 +133,15 @@ func FromEnv(c *Client) error {
|
|||
},
|
||||
CheckRedirect: CheckRedirect,
|
||||
}
|
||||
WithHTTPClient(httpClient)(c)
|
||||
}
|
||||
|
||||
host := os.Getenv("DOCKER_HOST")
|
||||
if host != "" {
|
||||
var err error
|
||||
// WithHost will create an API client if it doesn't exist
|
||||
if err := WithHost(host)(c); err != nil {
|
||||
return err
|
||||
}
|
||||
httpClient, err = defaultHTTPClient(host)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
if httpClient != nil {
|
||||
if err := WithHTTPClient(httpClient)(c); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
version := os.Getenv("DOCKER_API_VERSION")
|
||||
if version != "" {
|
||||
|
@ -167,7 +159,8 @@ func WithVersion(version string) func(*Client) error {
|
|||
}
|
||||
}
|
||||
|
||||
// WithHost overrides the client host with the specified one
|
||||
// WithHost overrides the client host with the specified one, creating a new
|
||||
// http client if one doesn't exist
|
||||
func WithHost(host string) func(*Client) error {
|
||||
return func(c *Client) error {
|
||||
hostURL, err := ParseHostURL(host)
|
||||
|
@ -178,11 +171,17 @@ func WithHost(host string) func(*Client) error {
|
|||
c.proto = hostURL.Scheme
|
||||
c.addr = hostURL.Host
|
||||
c.basePath = hostURL.Path
|
||||
client, err := defaultHTTPClient(host)
|
||||
if err != nil {
|
||||
return err
|
||||
if c.client == nil {
|
||||
client, err := defaultHTTPClient(host)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return WithHTTPClient(client)(c)
|
||||
}
|
||||
return WithHTTPClient(client)(c)
|
||||
if transport, ok := c.client.Transport.(*http.Transport); ok {
|
||||
return sockets.ConfigureTransport(transport, c.proto, c.addr)
|
||||
}
|
||||
return fmt.Errorf("cannot apply host to http transport")
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue