diff --git a/staging/src/k8s.io/kube-aggregator/pkg/apiserver/handler_proxy.go b/staging/src/k8s.io/kube-aggregator/pkg/apiserver/handler_proxy.go index 7c4ab2cf612..5e0d652206e 100644 --- a/staging/src/k8s.io/kube-aggregator/pkg/apiserver/handler_proxy.go +++ b/staging/src/k8s.io/kube-aggregator/pkg/apiserver/handler_proxy.go @@ -18,7 +18,6 @@ package apiserver import ( "context" - "fmt" "net/http" "net/url" "sync/atomic" @@ -208,15 +207,12 @@ func (r *proxyHandler) updateAPIService(apiService *apiregistrationapi.APIServic serviceNamespace: apiService.Spec.Service.Namespace, serviceAvailable: apiregistrationapi.IsAPIServiceConditionTrue(apiService, apiregistrationapi.Available), } + if r.proxyTransport != nil && r.proxyTransport.DialContext != nil { + newInfo.restConfig.Dial = r.proxyTransport.DialContext + } newInfo.proxyRoundTripper, newInfo.transportBuildingError = restclient.TransportFor(newInfo.restConfig) - if newInfo.transportBuildingError == nil && r.proxyTransport != nil && r.proxyTransport.DialContext != nil { - switch transport := newInfo.proxyRoundTripper.(type) { - case *http.Transport: - transport.DialContext = r.proxyTransport.DialContext - default: - newInfo.transportBuildingError = fmt.Errorf("unable to set dialer for %s/%s as rest transport is of type %T", apiService.Spec.Service.Namespace, apiService.Spec.Service.Name, newInfo.proxyRoundTripper) - glog.Warning(newInfo.transportBuildingError.Error()) - } + if newInfo.transportBuildingError != nil { + glog.Warning(newInfo.transportBuildingError.Error()) } r.handlingInfo.Store(newInfo) }