Add WrappedRoundTripper methods to round trippers

Proxy dialing code relies on this to get to the underlying
http.Transport for custom dialers and TLSConfigs.
This commit is contained in:
Kris 2016-01-20 15:39:57 -08:00
parent 74d3506b68
commit 8cc483dc74

View File

@ -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
}