diff options
Diffstat (limited to 'Godeps/_workspace/src/github.com/awslabs/aws-sdk-go/aws/handler_functions.go')
-rw-r--r-- | Godeps/_workspace/src/github.com/awslabs/aws-sdk-go/aws/handler_functions.go | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/Godeps/_workspace/src/github.com/awslabs/aws-sdk-go/aws/handler_functions.go b/Godeps/_workspace/src/github.com/awslabs/aws-sdk-go/aws/handler_functions.go deleted file mode 100644 index 4de0f4a11..000000000 --- a/Godeps/_workspace/src/github.com/awslabs/aws-sdk-go/aws/handler_functions.go +++ /dev/null @@ -1,78 +0,0 @@ -package aws - -import ( - "fmt" - "io" - "time" -) - -var sleepDelay = func(delay time.Duration) { - time.Sleep(delay) -} - -type lener interface { - Len() int -} - -func BuildContentLength(r *Request) { - if r.HTTPRequest.Header.Get("Content-Length") != "" { - return - } - - var length int64 - switch body := r.Body.(type) { - case nil: - length = 0 - case lener: - length = int64(body.Len()) - case io.Seeker: - cur, _ := body.Seek(0, 1) - end, _ := body.Seek(0, 2) - body.Seek(cur, 0) // make sure to seek back to original location - length = end - cur - default: - panic("Cannot get length of body, must provide `ContentLength`") - } - - r.HTTPRequest.ContentLength = length - r.HTTPRequest.Header.Set("Content-Length", fmt.Sprintf("%d", length)) -} - -func UserAgentHandler(r *Request) { - r.HTTPRequest.Header.Set("User-Agent", SDKName+"/"+SDKVersion) -} - -func SendHandler(r *Request) { - r.HTTPResponse, r.Error = r.Service.Config.HTTPClient.Do(r.HTTPRequest) -} - -func ValidateResponseHandler(r *Request) { - if r.HTTPResponse.StatusCode == 0 || r.HTTPResponse.StatusCode >= 400 { - err := APIError{ - StatusCode: r.HTTPResponse.StatusCode, - RetryCount: r.RetryCount, - } - r.Error = err - err.Retryable = r.Service.ShouldRetry(r) - err.RetryDelay = r.Service.RetryRules(r) - r.Error = err - } -} - -func AfterRetryHandler(r *Request) { - delay := 0 * time.Second - willRetry := false - - if err := Error(r.Error); err != nil { - delay = err.RetryDelay - if err.Retryable && r.RetryCount < r.Service.MaxRetries() { - r.RetryCount++ - willRetry = true - } - } - - if willRetry { - r.Error = nil - sleepDelay(delay) - } -} |