From 8cc483dc743ca85ecfe20468454366236d932b2a Mon Sep 17 00:00:00 2001 From: Kris Date: Wed, 20 Jan 2016 15:39:57 -0800 Subject: [PATCH] Add WrappedRoundTripper methods to round trippers Proxy dialing code relies on this to get to the underlying http.Transport for custom dialers and TLSConfigs. --- pkg/client/transport/round_trippers.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pkg/client/transport/round_trippers.go b/pkg/client/transport/round_trippers.go index be013f35039..706a715e2ff 100644 --- a/pkg/client/transport/round_trippers.go +++ b/pkg/client/transport/round_trippers.go @@ -97,6 +97,8 @@ func (rt *userAgentRoundTripper) CancelRequest(req *http.Request) { } } +func (rt *userAgentRoundTripper) WrappedRoundTripper() http.RoundTripper { return rt.rt } + type basicAuthRoundTripper struct { username string password string @@ -126,6 +128,8 @@ func (rt *basicAuthRoundTripper) CancelRequest(req *http.Request) { } } +func (rt *basicAuthRoundTripper) WrappedRoundTripper() http.RoundTripper { return rt.rt } + type bearerAuthRoundTripper struct { bearer string rt http.RoundTripper @@ -155,6 +159,8 @@ func (rt *bearerAuthRoundTripper) CancelRequest(req *http.Request) { } } +func (rt *bearerAuthRoundTripper) WrappedRoundTripper() http.RoundTripper { return rt.rt } + // cloneRequest returns a clone of the provided *http.Request. // The clone is a shallow copy of the struct and its Header map. func cloneRequest(r *http.Request) *http.Request { @@ -293,3 +299,7 @@ func (rt *debuggingRoundTripper) RoundTrip(req *http.Request) (*http.Response, e return response, err } + +func (rt *debuggingRoundTripper) WrappedRoundTripper() http.RoundTripper { + return rt.delegatedRoundTripper +}