mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-22 03:11:40 +00:00
Merge pull request #106177 from aojea/RoundTripperWrapper
client-go token source transport implement RoundTripperWrapper interface
This commit is contained in:
commit
d2aa5fc100
@ -92,6 +92,8 @@ type authProxyRoundTripper struct {
|
|||||||
rt http.RoundTripper
|
rt http.RoundTripper
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var _ utilnet.RoundTripperWrapper = &authProxyRoundTripper{}
|
||||||
|
|
||||||
// NewAuthProxyRoundTripper provides a roundtripper which will add auth proxy fields to requests for
|
// NewAuthProxyRoundTripper provides a roundtripper which will add auth proxy fields to requests for
|
||||||
// authentication terminating proxy cases
|
// authentication terminating proxy cases
|
||||||
// assuming you pull the user from the context:
|
// assuming you pull the user from the context:
|
||||||
@ -150,6 +152,8 @@ type userAgentRoundTripper struct {
|
|||||||
rt http.RoundTripper
|
rt http.RoundTripper
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var _ utilnet.RoundTripperWrapper = &userAgentRoundTripper{}
|
||||||
|
|
||||||
// NewUserAgentRoundTripper will add User-Agent header to a request unless it has already been set.
|
// NewUserAgentRoundTripper will add User-Agent header to a request unless it has already been set.
|
||||||
func NewUserAgentRoundTripper(agent string, rt http.RoundTripper) http.RoundTripper {
|
func NewUserAgentRoundTripper(agent string, rt http.RoundTripper) http.RoundTripper {
|
||||||
return &userAgentRoundTripper{agent, rt}
|
return &userAgentRoundTripper{agent, rt}
|
||||||
@ -176,6 +180,8 @@ type basicAuthRoundTripper struct {
|
|||||||
rt http.RoundTripper
|
rt http.RoundTripper
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var _ utilnet.RoundTripperWrapper = &basicAuthRoundTripper{}
|
||||||
|
|
||||||
// NewBasicAuthRoundTripper will apply a BASIC auth authorization header to a
|
// NewBasicAuthRoundTripper will apply a BASIC auth authorization header to a
|
||||||
// request unless it has already been set.
|
// request unless it has already been set.
|
||||||
func NewBasicAuthRoundTripper(username, password string, rt http.RoundTripper) http.RoundTripper {
|
func NewBasicAuthRoundTripper(username, password string, rt http.RoundTripper) http.RoundTripper {
|
||||||
@ -225,6 +231,8 @@ type impersonatingRoundTripper struct {
|
|||||||
delegate http.RoundTripper
|
delegate http.RoundTripper
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var _ utilnet.RoundTripperWrapper = &impersonatingRoundTripper{}
|
||||||
|
|
||||||
// NewImpersonatingRoundTripper will add an Act-As header to a request unless it has already been set.
|
// NewImpersonatingRoundTripper will add an Act-As header to a request unless it has already been set.
|
||||||
func NewImpersonatingRoundTripper(impersonate ImpersonationConfig, delegate http.RoundTripper) http.RoundTripper {
|
func NewImpersonatingRoundTripper(impersonate ImpersonationConfig, delegate http.RoundTripper) http.RoundTripper {
|
||||||
return &impersonatingRoundTripper{impersonate, delegate}
|
return &impersonatingRoundTripper{impersonate, delegate}
|
||||||
@ -264,6 +272,8 @@ type bearerAuthRoundTripper struct {
|
|||||||
rt http.RoundTripper
|
rt http.RoundTripper
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var _ utilnet.RoundTripperWrapper = &bearerAuthRoundTripper{}
|
||||||
|
|
||||||
// NewBearerAuthRoundTripper adds the provided bearer token to a request
|
// NewBearerAuthRoundTripper adds the provided bearer token to a request
|
||||||
// unless the authorization header has already been set.
|
// unless the authorization header has already been set.
|
||||||
func NewBearerAuthRoundTripper(bearer string, rt http.RoundTripper) http.RoundTripper {
|
func NewBearerAuthRoundTripper(bearer string, rt http.RoundTripper) http.RoundTripper {
|
||||||
@ -373,6 +383,8 @@ type debuggingRoundTripper struct {
|
|||||||
levels map[DebugLevel]bool
|
levels map[DebugLevel]bool
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var _ utilnet.RoundTripperWrapper = &debuggingRoundTripper{}
|
||||||
|
|
||||||
// DebugLevel is used to enable debugging of certain
|
// DebugLevel is used to enable debugging of certain
|
||||||
// HTTP requests and responses fields via the debuggingRoundTripper.
|
// HTTP requests and responses fields via the debuggingRoundTripper.
|
||||||
type DebugLevel int
|
type DebugLevel int
|
||||||
|
@ -26,6 +26,7 @@ import (
|
|||||||
|
|
||||||
"golang.org/x/oauth2"
|
"golang.org/x/oauth2"
|
||||||
|
|
||||||
|
utilnet "k8s.io/apimachinery/pkg/util/net"
|
||||||
"k8s.io/klog/v2"
|
"k8s.io/klog/v2"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -95,6 +96,8 @@ type tokenSourceTransport struct {
|
|||||||
src ResettableTokenSource
|
src ResettableTokenSource
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var _ utilnet.RoundTripperWrapper = &tokenSourceTransport{}
|
||||||
|
|
||||||
func (tst *tokenSourceTransport) RoundTrip(req *http.Request) (*http.Response, error) {
|
func (tst *tokenSourceTransport) RoundTrip(req *http.Request) (*http.Response, error) {
|
||||||
// This is to allow --token to override other bearer token providers.
|
// This is to allow --token to override other bearer token providers.
|
||||||
if req.Header.Get("Authorization") != "" {
|
if req.Header.Get("Authorization") != "" {
|
||||||
@ -119,6 +122,8 @@ func (tst *tokenSourceTransport) CancelRequest(req *http.Request) {
|
|||||||
tryCancelRequest(tst.ort, req)
|
tryCancelRequest(tst.ort, req)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (tst *tokenSourceTransport) WrappedRoundTripper() http.RoundTripper { return tst.base }
|
||||||
|
|
||||||
type fileTokenSource struct {
|
type fileTokenSource struct {
|
||||||
path string
|
path string
|
||||||
period time.Duration
|
period time.Duration
|
||||||
|
Loading…
Reference in New Issue
Block a user