MCPcopy
hub / github.com/kubernetes/client-go / RoundTrip

Method RoundTrip

plugin/pkg/client/auth/azure/azure.go:120–142  ·  view source on GitHub ↗
(req *http.Request)

Source from the content-addressed store, hash-verified

118var _ net.RoundTripperWrapper = &azureRoundTripper{}
119
120func (r *azureRoundTripper) RoundTrip(req *http.Request) (*http.Response, error) {
121 if len(req.Header.Get(authHeader)) != 0 {
122 return r.roundTripper.RoundTrip(req)
123 }
124
125 token, err := r.tokenSource.Token()
126 if err != nil {
127 klog.Errorf("Failed to acquire a token: %v", err)
128 return nil, fmt.Errorf("acquiring a token for authorization header: %v", err)
129 }
130
131 // clone the request in order to avoid modifying the headers of the original request
132 req2 := new(http.Request)
133 *req2 = *req
134 req2.Header = make(http.Header, len(req.Header))
135 for k, s := range req.Header {
136 req2.Header[k] = append([]string(nil), s...)
137 }
138
139 req2.Header.Set(authHeader, fmt.Sprintf("%s %s", tokenType, token.token.AccessToken))
140
141 return r.roundTripper.RoundTrip(req2)
142}
143
144func (r *azureRoundTripper) WrappedRoundTripper() http.RoundTripper { return r.roundTripper }
145

Callers

nothing calls this directly

Calls 4

GetMethod · 0.65
TokenMethod · 0.65
ErrorfMethod · 0.65
SetMethod · 0.65

Tested by

no test coverage detected