From 8341aa14b06ce74e0e7b0dec7ad587cc4465e5be Mon Sep 17 00:00:00 2001 From: Steven Zou Date: Tue, 30 Oct 2018 17:35:07 +0800 Subject: [PATCH] Support health check free call in job service Signed-off-by: Steven Zou --- src/jobservice/api/router.go | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/jobservice/api/router.go b/src/jobservice/api/router.go index f4a83ed77..755bf9445 100644 --- a/src/jobservice/api/router.go +++ b/src/jobservice/api/router.go @@ -63,13 +63,16 @@ func NewBaseRouter(handler Handler, authenticator Authenticator) Router { // ServeHTTP is the implementation of Router interface. func (br *BaseRouter) ServeHTTP(w http.ResponseWriter, req *http.Request) { - // Do auth - if err := br.authenticator.DoAuth(req); err != nil { - authErr := errs.UnauthorizedError(err) - logger.Errorf("Serve http request '%s %s' failed with error: %s", req.Method, req.URL.String(), authErr.Error()) - w.WriteHeader(http.StatusUnauthorized) - w.Write([]byte(authErr.Error())) - return + // No auth required for /stats as it is a health check endpoint + // Do auth for other services + if req.URL.String() != fmt.Sprintf("%s/%s/stats", baseRoute, apiVersion) { + if err := br.authenticator.DoAuth(req); err != nil { + authErr := errs.UnauthorizedError(err) + logger.Errorf("Serve http request '%s %s' failed with error: %s", req.Method, req.URL.String(), authErr.Error()) + w.WriteHeader(http.StatusUnauthorized) + w.Write([]byte(authErr.Error())) + return + } } // Directly pass requests to the server mux.