Skip to content

Commit

Permalink
Consolidate /sys/health error checks (#221)
Browse files Browse the repository at this point in the history
* Consolidate /sys/health error checks

* Use switch instead of slices.Contains

Co-authored-by: Max Bowsher <maxbowsher@gmail.com>

* cleanup

* fix build

* PR feedback

* comment

---------

Co-authored-by: Max Bowsher <maxbowsher@gmail.com>
  • Loading branch information
averche and maxb committed Sep 18, 2023
1 parent 4d14b96 commit 0ec6760
Showing 1 changed file with 6 additions and 10 deletions.
16 changes: 6 additions & 10 deletions errors.go
Original file line number Diff line number Diff line change
Expand Up @@ -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
}

Expand Down

0 comments on commit 0ec6760

Please sign in to comment.