Versions in this module Expand all Collapse all v0 v0.0.1 Apr 12, 2019 Changes in this version + const DefaultRetryAttempts + const ErrorHTTPResponseBodyBytes + var ErrBodyNotReReadable = errors.New(errPrefix + "body is not re-readable") + func DefaultResponseTester(resp *http.Response, err error) (bool, error) + func ExampleRetryAfterRequester() + func HTTPClient() *http.Client + func NewErrorHTTPResponse(resp *http.Response) error + func NewErrorHTTPResponseLimitBody(resp *http.Response, limit int64) error + func NewRetryableRequest(method string, url string, body interface{}) (*http.Request, error) + func TryCount(req *http.Request) uint + func WithTryCount(req *http.Request, try uint) *http.Request + type AuthorizedRequester struct + func (c *AuthorizedRequester) Do(req *http.Request) (*http.Response, error) + type Authorizer func(req *http.Request) (*http.Request, error) + func BasicAuthorizer(user string, pass string) Authorizer + func HeaderAuthorizer(key string, value string) Authorizer + type Backoff func(try uint) time.Duration + type ErrorHTTPResponse struct + func (e *ErrorHTTPResponse) Body() []byte + func (e *ErrorHTTPResponse) Error() string + func (e *ErrorHTTPResponse) Status() int + type Limiter interface + Delay func() time.Duration + type LoggingRequester struct + RequestLogger func(*http.Request) + Requester Requester + ResponseLogger func(*http.Response, *http.Request, time.Duration) + func (r LoggingRequester) Do(req *http.Request) (*http.Response, error) + type Requester interface + Do func(req *http.Request) (*http.Response, error) + type ResponseTester func(*http.Response, error) (bool, error) + func ResponseTesterStatusCodes(tester ResponseTester, sc map[int]bool) ResponseTester + type RetryAfterRequester struct + HeaderName string + Requester Requester + StatusCodes []int + func (r RetryAfterRequester) Do(req *http.Request) (*http.Response, error) + type RetryBackoffRequester struct + Attempts uint + Backoff Backoff + Requester Requester + ResponseTester ResponseTester + func (r RetryBackoffRequester) Do(req *http.Request) (*http.Response, error) + type ThrottledRequester struct + Limiter Limiter + Requester Requester + func (r ThrottledRequester) Do(req *http.Request) (resp *http.Response, err error)