From 5a8ff4025408ed7a30a829008edf509c02f7a258 Mon Sep 17 00:00:00 2001 From: Ezra Silvera Date: Tue, 11 Oct 2016 01:13:48 +0300 Subject: [PATCH] Call the AuthZRes function also when the daemon returns error Signed-off-by: Ezra Silvera --- pkg/authorization/middleware.go | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/pkg/authorization/middleware.go b/pkg/authorization/middleware.go index 58734ec496..627e0dc9ad 100644 --- a/pkg/authorization/middleware.go +++ b/pkg/authorization/middleware.go @@ -55,15 +55,21 @@ func (m *Middleware) WrapHandler(handler func(ctx context.Context, w http.Respon rw := NewResponseModifier(w) - if err := handler(ctx, rw, r, vars); err != nil { - logrus.Errorf("Handler for %s %s returned error: %s", r.Method, r.RequestURI, err) - return err + var errD error + + if errD = handler(ctx, rw, r, vars); errD != nil { + logrus.Errorf("Handler for %s %s returned error: %s", r.Method, r.RequestURI, errD) } - if err := authCtx.AuthZResponse(rw, r); err != nil { + if err := authCtx.AuthZResponse(rw, r); errD == nil && err != nil { logrus.Errorf("AuthZResponse for %s %s returned error: %s", r.Method, r.RequestURI, err) return err } + + if errD != nil { + return errD + } + return nil } }