From 0ec67605b07b6204d8a2611d9987bb3e7a8b7e3f Mon Sep 17 00:00:00 2001 From: Anton Averchenkov <84287187+averche@users.noreply.github.com> Date: Mon, 18 Sep 2023 15:00:30 -0400 Subject: [PATCH] Consolidate /sys/health error checks (#221) * Consolidate /sys/health error checks * Use switch instead of slices.Contains Co-authored-by: Max Bowsher * cleanup * fix build * PR feedback * comment --------- Co-authored-by: Max Bowsher --- errors.go | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/errors.go b/errors.go index 1a71c8b2..215c43e0 100644 --- a/errors.go +++ b/errors.go @@ -55,16 +55,12 @@ func isResponseError(req *http.Request, resp *http.Response) *ResponseError { return nil } - // 429 is returned by standby instances for /sys/health requests and should - // not be treated as an error; for other paths the status code indicates - // that the quota limit has been reached. - if resp.StatusCode == http.StatusTooManyRequests /* 429 */ && req.URL.Path == "/v1/sys/health" { - return nil - } - - // 472 & 473 are returned by (performance/secondary) standby instances for /sys/health requests and should - // not be treated as an error - if (resp.StatusCode == 472 || resp.StatusCode == 473) && req.URL.Path == "/v1/sys/health" { + // /v1/sys/health returns a few special 4xx and 5xx status codes that + // should not be treated as errors; the response body will contain valuable + // health status information. + // + // See: https://developer.hashicorp.com/vault/api-docs/system/health + if req.URL.Path == "/v1/sys/health" && resp != nil { return nil }