Merge pull request #75771 from liggitt/AnonymousClientConfig

Exclude custom transports when constructing AnonymousClientConfig()

Kubernetes-commit: fc556f0d9ba59ac47c76e4d60a9ba261e0c622f3
This commit is contained in:
Kubernetes Publisher 2019-04-03 21:06:50 -07:00
commit 2a3e58aa70
2 changed files with 9 additions and 17 deletions

View File

@ -487,7 +487,7 @@ func AddUserAgent(config *Config, userAgent string) *Config {
return config return config
} }
// AnonymousClientConfig returns a copy of the given config with all user credentials (cert/key, bearer token, and username/password) removed // AnonymousClientConfig returns a copy of the given config with all user credentials (cert/key, bearer token, and username/password) and custom transports (WrapTransport, Transport) removed
func AnonymousClientConfig(config *Config) *Config { func AnonymousClientConfig(config *Config) *Config {
// copy only known safe fields // copy only known safe fields
return &Config{ return &Config{
@ -500,14 +500,12 @@ func AnonymousClientConfig(config *Config) *Config {
CAFile: config.TLSClientConfig.CAFile, CAFile: config.TLSClientConfig.CAFile,
CAData: config.TLSClientConfig.CAData, CAData: config.TLSClientConfig.CAData,
}, },
RateLimiter: config.RateLimiter, RateLimiter: config.RateLimiter,
UserAgent: config.UserAgent, UserAgent: config.UserAgent,
Transport: config.Transport, QPS: config.QPS,
WrapTransport: config.WrapTransport, Burst: config.Burst,
QPS: config.QPS, Timeout: config.Timeout,
Burst: config.Burst, Dial: config.Dial,
Timeout: config.Timeout,
Dial: config.Dial,
} }
} }

View File

@ -280,15 +280,9 @@ func TestAnonymousConfig(t *testing.T) {
expected.TLSClientConfig.CertFile = "" expected.TLSClientConfig.CertFile = ""
expected.TLSClientConfig.KeyData = nil expected.TLSClientConfig.KeyData = nil
expected.TLSClientConfig.KeyFile = "" expected.TLSClientConfig.KeyFile = ""
expected.Transport = nil
expected.WrapTransport = nil
// The DeepEqual cannot handle the func comparison, so we just verify if the
// function return the expected object.
if actual.WrapTransport == nil || !reflect.DeepEqual(expected.WrapTransport(nil), &fakeRoundTripper{}) {
t.Fatalf("AnonymousClientConfig dropped the WrapTransport field")
} else {
actual.WrapTransport = nil
expected.WrapTransport = nil
}
if actual.Dial != nil { if actual.Dial != nil {
_, actualError := actual.Dial(context.Background(), "", "") _, actualError := actual.Dial(context.Background(), "", "")
_, expectedError := expected.Dial(context.Background(), "", "") _, expectedError := expected.Dial(context.Background(), "", "")