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  } | 
