From ee344a0abe08ab6d484ea23fd704fec65fbed56c Mon Sep 17 00:00:00 2001 From: Victor Mozgin Date: Mon, 6 Mar 2023 11:02:42 -0500 Subject: [PATCH] OneDrive sometimes generates spurious 400 errors, these are perfectly fine to retry on instead of failing the whole run. --- src/duplicacy_oneclient.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/duplicacy_oneclient.go b/src/duplicacy_oneclient.go index 0f25bb9..e9824e9 100644 --- a/src/duplicacy_oneclient.go +++ b/src/duplicacy_oneclient.go @@ -201,7 +201,7 @@ func (client *OneDriveClient) call(url string, method string, input interface{}, continue } else if response.StatusCode == 409 { return nil, 0, OneDriveError{Status: response.StatusCode, Message: "Conflict"} - } else if response.StatusCode > 401 && response.StatusCode != 404 { + } else if response.StatusCode >= 400 && response.StatusCode != 404 { delay := int((rand.Float32() * 0.5 + 0.5) * 1000.0 * float32(backoff)) if backoffList, found := response.Header["Retry-After"]; found && len(backoffList) > 0 { retryAfter, _ := strconv.Atoi(backoffList[0])