Skip to content

Commit

Permalink
cleanup variable assignment
Browse files Browse the repository at this point in the history
  • Loading branch information
everpeace committed Jan 24, 2024
1 parent d1351d0 commit 0e9f8f9
Showing 1 changed file with 12 additions and 20 deletions.
32 changes: 12 additions & 20 deletions pkg/webhook/authorization/http.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,52 +42,46 @@ func init() {
var _ http.Handler = &Webhook{}

func (wh *Webhook) ServeHTTP(w http.ResponseWriter, r *http.Request) {
var body []byte
var err error
ctx := r.Context()
if wh.WithContextFunc != nil {
ctx = wh.WithContextFunc(ctx, r)
}

var reviewResponse Response
if r.Body == nil {
err = errors.New("request body is empty")
err := errors.New("request body is empty")
wh.getLogger(nil).Error(err, "bad request")
reviewResponse = Errored(err)
wh.writeResponse(w, reviewResponse)
wh.writeResponse(w, Errored(err))
return
}

defer r.Body.Close()
if body, err = io.ReadAll(r.Body); err != nil {
body, err := io.ReadAll(r.Body)
if err != nil {
wh.getLogger(nil).Error(err, "unable to read the body from the incoming request")
reviewResponse = Errored(err)
wh.writeResponse(w, reviewResponse)
wh.writeResponse(w, Errored(err))
return
}

// verify the content type is accurate
contentType := r.Header.Get("Content-Type")
if contentType != "application/json" {
if contentType := r.Header.Get("Content-Type"); contentType != "application/json" {
err = fmt.Errorf("contentType=%s, expected application/json", contentType)
wh.getLogger(nil).Error(err, "unable to process a request with unknown content type")
reviewResponse = Errored(err)
wh.writeResponse(w, reviewResponse)
wh.writeResponse(w, Errored(err))
return
}

// Decode request body into authorizationv1.SubjectAccessReviewSpec structure
sar, actualTokRevGVK, err := wh.decodeRequestBody(body)
if err != nil {
wh.getLogger(nil).Error(err, "unable to decode the request")
reviewResponse = Errored(err)
wh.writeResponse(w, reviewResponse)
wh.writeResponse(w, Errored(err))
return
}
wh.getLogger(nil).V(5).Info("received request")
req := Request{}
req.SubjectAccessReview = sar.SubjectAccessReview
wh.getLogger(&req).V(5).Info("received request")

reviewResponse = wh.Handle(ctx, Request{sar.SubjectAccessReview})
wh.writeResponseTyped(w, reviewResponse, actualTokRevGVK)
wh.writeResponseTyped(w, wh.Handle(ctx, req), actualTokRevGVK)
}

// writeResponse writes response to w generically, i.e. without encoding GVK information.
Expand Down Expand Up @@ -118,8 +112,6 @@ func (wh *Webhook) writeSubjectAccessReviewResponse(w io.Writer, ar authorizatio
}
res := ar
wh.getLogger(nil).V(5).Info("wrote response", "authorized", res.Status.Allowed)

return
}

func (wh *Webhook) decodeRequestBody(body []byte) (unversionedSubjectAccessReview, *schema.GroupVersionKind, error) {
Expand Down

0 comments on commit 0e9f8f9

Please sign in to comment.