aboutsummaryrefslogtreecommitdiff
path: root/vendor/github.com/aws/aws-sdk-go/aws/client/default_retryer.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/aws/aws-sdk-go/aws/client/default_retryer.go')
-rw-r--r--vendor/github.com/aws/aws-sdk-go/aws/client/default_retryer.go10
1 files changed, 8 insertions, 2 deletions
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/client/default_retryer.go b/vendor/github.com/aws/aws-sdk-go/aws/client/default_retryer.go
index 43a3676..e25a460 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/client/default_retryer.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/client/default_retryer.go
@@ -15,11 +15,11 @@ import (
// the MaxRetries method:
//
// type retryer struct {
-// service.DefaultRetryer
+// client.DefaultRetryer
// }
//
// // This implementation always has 100 max retries
-// func (d retryer) MaxRetries() uint { return 100 }
+// func (d retryer) MaxRetries() int { return 100 }
type DefaultRetryer struct {
NumMaxRetries int
}
@@ -54,6 +54,12 @@ func (d DefaultRetryer) RetryRules(r *request.Request) time.Duration {
// ShouldRetry returns true if the request should be retried.
func (d DefaultRetryer) ShouldRetry(r *request.Request) bool {
+ // If one of the other handlers already set the retry state
+ // we don't want to override it based on the service's state
+ if r.Retryable != nil {
+ return *r.Retryable
+ }
+
if r.HTTPResponse.StatusCode >= 500 {
return true
}