Plumb context to webhook calls

Kubernetes-commit: b78edd86b8766b96278bcb46301f751d9e6e3631
This commit is contained in:
Jordan Liggitt 2019-09-24 11:07:33 -04:00 committed by Kubernetes Publisher
parent 0ca78287c0
commit f4d60f9c20
2 changed files with 12 additions and 4 deletions

View File

@ -99,7 +99,7 @@ func (w *WebhookTokenAuthenticator) AuthenticateToken(ctx context.Context, token
auds authenticator.Audiences auds authenticator.Audiences
) )
webhook.WithExponentialBackoff(ctx, w.initialBackoff, func() error { webhook.WithExponentialBackoff(ctx, w.initialBackoff, func() error {
result, err = w.tokenReview.Create(r) result, err = w.tokenReview.CreateContext(ctx, r)
return err return err
}) })
if err != nil { if err != nil {
@ -171,7 +171,11 @@ type tokenReviewClient struct {
} }
func (t *tokenReviewClient) Create(tokenReview *authentication.TokenReview) (*authentication.TokenReview, error) { func (t *tokenReviewClient) Create(tokenReview *authentication.TokenReview) (*authentication.TokenReview, error) {
return t.CreateContext(context.Background(), tokenReview)
}
func (t *tokenReviewClient) CreateContext(ctx context.Context, tokenReview *authentication.TokenReview) (*authentication.TokenReview, error) {
result := &authentication.TokenReview{} result := &authentication.TokenReview{}
err := t.w.RestClient.Post().Body(tokenReview).Do().Into(result) err := t.w.RestClient.Post().Context(ctx).Body(tokenReview).Do().Into(result)
return result, err return result, err
} }

View File

@ -189,7 +189,7 @@ func (w *WebhookAuthorizer) Authorize(ctx context.Context, attr authorizer.Attri
err error err error
) )
webhook.WithExponentialBackoff(ctx, w.initialBackoff, func() error { webhook.WithExponentialBackoff(ctx, w.initialBackoff, func() error {
result, err = w.subjectAccessReview.Create(r) result, err = w.subjectAccessReview.CreateContext(ctx, r)
return err return err
}) })
if err != nil { if err != nil {
@ -265,8 +265,12 @@ type subjectAccessReviewClient struct {
} }
func (t *subjectAccessReviewClient) Create(subjectAccessReview *authorization.SubjectAccessReview) (*authorization.SubjectAccessReview, error) { func (t *subjectAccessReviewClient) Create(subjectAccessReview *authorization.SubjectAccessReview) (*authorization.SubjectAccessReview, error) {
return t.CreateContext(context.Background(), subjectAccessReview)
}
func (t *subjectAccessReviewClient) CreateContext(ctx context.Context, subjectAccessReview *authorization.SubjectAccessReview) (*authorization.SubjectAccessReview, error) {
result := &authorization.SubjectAccessReview{} result := &authorization.SubjectAccessReview{}
err := t.w.RestClient.Post().Body(subjectAccessReview).Do().Into(result) err := t.w.RestClient.Post().Context(ctx).Body(subjectAccessReview).Do().Into(result)
return result, err return result, err
} }