forked from toolshed/abra
chore: bump deps
This commit is contained in:
19
vendor/github.com/hashicorp/go-retryablehttp/client.go
generated
vendored
19
vendor/github.com/hashicorp/go-retryablehttp/client.go
generated
vendored
@ -638,6 +638,23 @@ func LinearJitterBackoff(min, max time.Duration, attemptNum int, resp *http.Resp
|
||||
return time.Duration(jitterMin * int64(attemptNum))
|
||||
}
|
||||
|
||||
// RateLimitLinearJitterBackoff wraps the retryablehttp.LinearJitterBackoff.
|
||||
// It first checks if the response status code is http.StatusTooManyRequests
|
||||
// (HTTP Code 429) or http.StatusServiceUnavailable (HTTP Code 503). If it is
|
||||
// and the response contains a Retry-After response header, it will wait the
|
||||
// amount of time specified by the header. Otherwise, this calls
|
||||
// LinearJitterBackoff.
|
||||
func RateLimitLinearJitterBackoff(min, max time.Duration, attemptNum int, resp *http.Response) time.Duration {
|
||||
if resp != nil {
|
||||
if resp.StatusCode == http.StatusTooManyRequests || resp.StatusCode == http.StatusServiceUnavailable {
|
||||
if sleep, ok := parseRetryAfterHeader(resp.Header["Retry-After"]); ok {
|
||||
return sleep
|
||||
}
|
||||
}
|
||||
}
|
||||
return LinearJitterBackoff(min, max, attemptNum, resp)
|
||||
}
|
||||
|
||||
// PassthroughErrorHandler is an ErrorHandler that directly passes through the
|
||||
// values from the net/http library for the final request. The body is not
|
||||
// closed.
|
||||
@ -870,11 +887,13 @@ func (c *Client) Head(url string) (*http.Response, error) {
|
||||
}
|
||||
|
||||
// Post is a shortcut for doing a POST request without making a new client.
|
||||
// The bodyType parameter sets the "Content-Type" header of the request.
|
||||
func Post(url, bodyType string, body interface{}) (*http.Response, error) {
|
||||
return defaultClient.Post(url, bodyType, body)
|
||||
}
|
||||
|
||||
// Post is a convenience method for doing simple POST requests.
|
||||
// The bodyType parameter sets the "Content-Type" header of the request.
|
||||
func (c *Client) Post(url, bodyType string, body interface{}) (*http.Response, error) {
|
||||
req, err := NewRequest("POST", url, body)
|
||||
if err != nil {
|
||||
|
Reference in New Issue
Block a user