mirror of
https://github.com/rclone/rclone.git
synced 2024-11-24 12:44:45 +08:00
onedrive: fix Retry-After handling to look at 503 errors also
Some checks are pending
Docker beta build / Build image job (push) Waiting to run
Some checks are pending
Docker beta build / Build image job (push) Waiting to run
According to the Microsoft docs a Retry-After header can be returned on 429 errors and 503 errors, but before this change we were only checking for it on 429 errors. See: https://forum.rclone.org/t/onedrive-503-response-retry-after-not-used/48045
This commit is contained in:
parent
75257fc9cd
commit
175aa07cdd
|
@ -827,7 +827,7 @@ func shouldRetry(ctx context.Context, resp *http.Response, err error) (bool, err
|
||||||
retry = true
|
retry = true
|
||||||
fs.Debugf(nil, "HTTP 401: Unable to initialize RPS. Trying again.")
|
fs.Debugf(nil, "HTTP 401: Unable to initialize RPS. Trying again.")
|
||||||
}
|
}
|
||||||
case 429: // Too Many Requests.
|
case 429, 503: // Too Many Requests, Server Too Busy
|
||||||
// see https://docs.microsoft.com/en-us/sharepoint/dev/general-development/how-to-avoid-getting-throttled-or-blocked-in-sharepoint-online
|
// see https://docs.microsoft.com/en-us/sharepoint/dev/general-development/how-to-avoid-getting-throttled-or-blocked-in-sharepoint-online
|
||||||
if values := resp.Header["Retry-After"]; len(values) == 1 && values[0] != "" {
|
if values := resp.Header["Retry-After"]; len(values) == 1 && values[0] != "" {
|
||||||
retryAfter, parseErr := strconv.Atoi(values[0])
|
retryAfter, parseErr := strconv.Atoi(values[0])
|
||||||
|
|
Loading…
Reference in New Issue
Block a user