From da8be280309582159a8f94e0ef8a96cf04e03836 Mon Sep 17 00:00:00 2001 From: Charles Kenney Date: Fri, 8 Jan 2021 09:53:46 -0500 Subject: [PATCH] add retry condition for 408s --- client.go | 1 + retries.go | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/client.go b/client.go index 5436ebd53..9342df4ae 100644 --- a/client.go +++ b/client.go @@ -173,6 +173,7 @@ func (c *Client) SetRetries() *Client { addRetryConditional(linodeBusyRetryCondition). addRetryConditional(tooManyRequestsRetryCondition). addRetryConditional(serviceUnavailableRetryCondition). + addRetryConditional(requestTimeoutRetryCondition). SetRetryMaxWaitTime(APIRetryMaxWaitTime) configureRetries(c) return c diff --git a/retries.go b/retries.go index a10259c44..6f678104f 100644 --- a/retries.go +++ b/retries.go @@ -54,6 +54,10 @@ func serviceUnavailableRetryCondition(r *resty.Response, _ error) bool { return r.StatusCode() == http.StatusServiceUnavailable } +func requestTimeoutRetryCondition(r *resty.Response, _ error) bool { + return r.StatusCode() == http.StatusRequestTimeout +} + func respectRetryAfter(client *resty.Client, resp *resty.Response) (time.Duration, error) { retryAfterStr := resp.Header().Get(retryAfterHeaderName) if retryAfterStr == "" {