From 83318b22236389122c52362d4fdaad1a7c4e4c2b Mon Sep 17 00:00:00 2001 From: Prem Chaitanya Prathi Date: Thu, 21 Sep 2023 16:53:45 +0530 Subject: [PATCH 1/2] fix: panic in REST health endpoint to running node without RLN --- cmd/waku/server/rest/health.go | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/cmd/waku/server/rest/health.go b/cmd/waku/server/rest/health.go index 6fb186851..5a5a319e2 100644 --- a/cmd/waku/server/rest/health.go +++ b/cmd/waku/server/rest/health.go @@ -30,19 +30,23 @@ func NewHealthService(node *node.WakuNode, m *chi.Mux) *HealthService { type HealthResponse string func (d *HealthService) getHealth(w http.ResponseWriter, r *http.Request) { - isReady, err := d.node.RLNRelay().IsReady(r.Context()) - if err != nil { - if errors.Is(err, context.DeadlineExceeded) { - writeResponse(w, HealthResponse("Health check timed out"), http.StatusInternalServerError) - } else { - writeResponse(w, HealthResponse(err.Error()), http.StatusInternalServerError) + if d.node.RLNRelay() != nil { + isReady, err := d.node.RLNRelay().IsReady(r.Context()) + if err != nil { + if errors.Is(err, context.DeadlineExceeded) { + writeResponse(w, HealthResponse("Health check timed out"), http.StatusInternalServerError) + } else { + writeResponse(w, HealthResponse(err.Error()), http.StatusInternalServerError) + } + return } - return - } - if isReady { - writeResponse(w, HealthResponse("Node is healthy"), http.StatusOK) + if isReady { + writeResponse(w, HealthResponse("Node is healthy"), http.StatusOK) + } else { + writeResponse(w, HealthResponse("Node is not ready"), http.StatusInternalServerError) + } } else { - writeResponse(w, HealthResponse("Node is not ready"), http.StatusInternalServerError) + writeResponse(w, HealthResponse("Non RLN healthcheck is not implemented"), http.StatusNotImplemented) } } From ae886156c8a0939070b80c96e5061f8a620c02ee Mon Sep 17 00:00:00 2001 From: Prem Chaitanya Prathi Date: Thu, 21 Sep 2023 17:00:10 +0530 Subject: [PATCH 2/2] chore: change title of each API file --- cmd/waku/server/rest/debug_api.yaml | 2 +- cmd/waku/server/rest/health_api.yaml | 2 +- cmd/waku/server/rest/relay_api.yaml | 2 +- cmd/waku/server/rest/store_api.yaml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/cmd/waku/server/rest/debug_api.yaml b/cmd/waku/server/rest/debug_api.yaml index 1a17ee902..2eb2db10b 100644 --- a/cmd/waku/server/rest/debug_api.yaml +++ b/cmd/waku/server/rest/debug_api.yaml @@ -1,6 +1,6 @@ openapi: 3.0.3 info: - title: Waku V2 node REST API + title: Waku V2 node Debug REST API version: 1.0.0 contact: name: VAC Team diff --git a/cmd/waku/server/rest/health_api.yaml b/cmd/waku/server/rest/health_api.yaml index d1528c77a..56cd9ae3e 100644 --- a/cmd/waku/server/rest/health_api.yaml +++ b/cmd/waku/server/rest/health_api.yaml @@ -1,6 +1,6 @@ openapi: 3.0.3 info: - title: Waku V2 node REST API + title: Waku V2 node Health REST API version: 1.0.0 contact: name: VAC Team diff --git a/cmd/waku/server/rest/relay_api.yaml b/cmd/waku/server/rest/relay_api.yaml index 3b356bb31..0cf1edd06 100644 --- a/cmd/waku/server/rest/relay_api.yaml +++ b/cmd/waku/server/rest/relay_api.yaml @@ -1,6 +1,6 @@ openapi: 3.0.3 info: - title: Waku V2 node REST API + title: Waku V2 node Relay REST API version: 1.0.0 contact: name: VAC Team diff --git a/cmd/waku/server/rest/store_api.yaml b/cmd/waku/server/rest/store_api.yaml index cbd653ca3..41a313fe5 100644 --- a/cmd/waku/server/rest/store_api.yaml +++ b/cmd/waku/server/rest/store_api.yaml @@ -1,6 +1,6 @@ openapi: 3.0.3 info: - title: Waku V2 node REST API + title: Waku V2 node Store REST API version: 1.0.0 contact: name: VAC Team