GET to ext/health returns 200 if heathy, else 500

This commit is contained in:
Dan Laine 2020-06-19 14:05:11 -04:00
parent 27bdba4776
commit 979f4e2759
1 changed files with 6 additions and 2 deletions

View File

@ -39,8 +39,12 @@ func (h *Health) Handler() *common.HTTPHandler {
newServer.RegisterCodec(codec, "application/json;charset=UTF-8")
newServer.RegisterService(h, "health")
handler := http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
if r.Method == http.MethodGet { // GET request --> reply with 200
w.WriteHeader(http.StatusOK)
if r.Method == http.MethodGet { // GET request --> return 200 if getLiveness returns true, else 500
if _, healthy := h.health.Results(); healthy {
w.WriteHeader(http.StatusOK)
} else {
w.WriteHeader(http.StatusInternalServerError)
}
} else {
newServer.ServeHTTP(w, r) // Other request --> use JSON RPC
}