diff options
Diffstat (limited to 'drive/errors.go')
| -rw-r--r-- | drive/errors.go | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/drive/errors.go b/drive/errors.go index 465d818..f70f0f0 100644 --- a/drive/errors.go +++ b/drive/errors.go @@ -6,7 +6,11 @@ import ( "time" ) -const MaxBackendErrorRetries = 5 +const MaxErrorRetries = 5 + +func isBackendOrRateLimitError(err error) bool { + return isBackendError(err) || isRateLimitError(err) +} func isBackendError(err error) bool { if err == nil { @@ -17,6 +21,15 @@ func isBackendError(err error) bool { return ok && ae.Code >= 500 && ae.Code <= 599 } +func isRateLimitError(err error) bool { + if err == nil { + return false + } + + ae, ok := err.(*googleapi.Error) + return ok && ae.Code == 403 +} + func isTimeoutError(err error) bool { return err == context.Canceled } |
