From 6cf947b29d88c81f4e80ef95455d4774cb7a914c Mon Sep 17 00:00:00 2001 From: eddyzags Date: Mon, 27 Jan 2025 15:10:31 +0100 Subject: [PATCH] distinguish 502 from 503 errors in ping handler for error handling --- pkg/relayer/relayminer.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pkg/relayer/relayminer.go b/pkg/relayer/relayminer.go index 25c510bb8..fdce69333 100644 --- a/pkg/relayer/relayminer.go +++ b/pkg/relayer/relayminer.go @@ -6,6 +6,7 @@ import ( "net" "net/http" "net/http/pprof" + "net/url" "cosmossdk.io/depinject" "github.com/prometheus/client_golang/prometheus/promhttp" @@ -168,7 +169,12 @@ func (rel *relayMiner) newPinghandlerFn(ctx context.Context, ln net.Listener) ht rel.logger.Debug().Msg("pinging relay servers...") if err := rel.relayerProxy.PingAll(ctx); err != nil { - w.WriteHeader(http.StatusBadGateway) + var urlError url.Error + if errors.As(err, &urlError) && urlError.Temporary() { + w.WriteHeader(http.StatusGatewayTimeout) + } else { + w.WriteHeader(http.StatusBadGateway) + } return }