Support health check free call in job service

Signed-off-by: Steven Zou <szou@vmware.com>
This commit is contained in:
Steven Zou 2018-10-30 17:35:07 +08:00
parent e7e2312e16
commit 8341aa14b0

View File

@ -63,13 +63,16 @@ func NewBaseRouter(handler Handler, authenticator Authenticator) Router {
// ServeHTTP is the implementation of Router interface. // ServeHTTP is the implementation of Router interface.
func (br *BaseRouter) ServeHTTP(w http.ResponseWriter, req *http.Request) { func (br *BaseRouter) ServeHTTP(w http.ResponseWriter, req *http.Request) {
// Do auth // No auth required for /stats as it is a health check endpoint
if err := br.authenticator.DoAuth(req); err != nil { // Do auth for other services
authErr := errs.UnauthorizedError(err) if req.URL.String() != fmt.Sprintf("%s/%s/stats", baseRoute, apiVersion) {
logger.Errorf("Serve http request '%s %s' failed with error: %s", req.Method, req.URL.String(), authErr.Error()) if err := br.authenticator.DoAuth(req); err != nil {
w.WriteHeader(http.StatusUnauthorized) authErr := errs.UnauthorizedError(err)
w.Write([]byte(authErr.Error())) logger.Errorf("Serve http request '%s %s' failed with error: %s", req.Method, req.URL.String(), authErr.Error())
return w.WriteHeader(http.StatusUnauthorized)
w.Write([]byte(authErr.Error()))
return
}
} }
// Directly pass requests to the server mux. // Directly pass requests to the server mux.