Merge pull request #2756 from thaJeztah/fix_overwrite_headers

Fix initializing client modifying custom HTTPHeaders
This commit is contained in:
Silvin Lubecki 2020-09-30 15:13:12 +02:00 committed by GitHub
commit b4097f7ef2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 3 deletions

View File

@ -308,9 +308,9 @@ func newAPIClientFromEndpoint(ep docker.Endpoint, configFile *configfile.ConfigF
if err != nil { if err != nil {
return nil, err return nil, err
} }
customHeaders := configFile.HTTPHeaders customHeaders := make(map[string]string, len(configFile.HTTPHeaders))
if customHeaders == nil { for k, v := range configFile.HTTPHeaders {
customHeaders = map[string]string{} customHeaders[k] = v
} }
customHeaders["User-Agent"] = UserAgent() customHeaders["User-Agent"] = UserAgent()
clientOpts = append(clientOpts, client.WithHTTPHeaders(customHeaders)) clientOpts = append(clientOpts, client.WithHTTPHeaders(customHeaders))

View File

@ -45,6 +45,7 @@ func TestNewAPIClientFromFlags(t *testing.T) {
} }
assert.Check(t, is.DeepEqual(expectedHeaders, apiclient.(*client.Client).CustomHTTPHeaders())) assert.Check(t, is.DeepEqual(expectedHeaders, apiclient.(*client.Client).CustomHTTPHeaders()))
assert.Check(t, is.Equal(api.DefaultVersion, apiclient.ClientVersion())) 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) { func TestNewAPIClientFromFlagsForDefaultSchema(t *testing.T) {