aboutsummaryrefslogtreecommitdiffstats
path: root/drive/errors.go
diff options
context:
space:
mode:
Diffstat (limited to 'drive/errors.go')
-rw-r--r--drive/errors.go15
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
}