diff --git a/cli/command/cli.go b/cli/command/cli.go index a9e7e30763..7b5048e98f 100644 --- a/cli/command/cli.go +++ b/cli/command/cli.go @@ -308,9 +308,9 @@ func newAPIClientFromEndpoint(ep docker.Endpoint, configFile *configfile.ConfigF if err != nil { return nil, err } - customHeaders := configFile.HTTPHeaders - if customHeaders == nil { - customHeaders = map[string]string{} + customHeaders := make(map[string]string, len(configFile.HTTPHeaders)) + for k, v := range configFile.HTTPHeaders { + customHeaders[k] = v } customHeaders["User-Agent"] = UserAgent() clientOpts = append(clientOpts, client.WithHTTPHeaders(customHeaders)) diff --git a/cli/command/cli_test.go b/cli/command/cli_test.go index 32c999df75..83f42e9df0 100644 --- a/cli/command/cli_test.go +++ b/cli/command/cli_test.go @@ -45,6 +45,7 @@ func TestNewAPIClientFromFlags(t *testing.T) { } assert.Check(t, is.DeepEqual(expectedHeaders, apiclient.(*client.Client).CustomHTTPHeaders())) assert.Check(t, is.Equal(api.DefaultVersion, apiclient.ClientVersion())) + assert.DeepEqual(t, configFile.HTTPHeaders, map[string]string{"My-Header": "Custom-Value"}) } func TestNewAPIClientFromFlagsForDefaultSchema(t *testing.T) {