Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ResilientRoundTripper ¶
type ResilientRoundTripper struct {
// RoundTripper the wrapped RoundTripper.
http.RoundTripper
// ShouldRetry defines a strategy for retries.
ShouldRetry RetryPolicy
MaxInterval time.Duration
MaxElapsedTime time.Duration
}
ResilientRoundTripper wraps a RoundTripper and retries requests on failure.
func NewDefaultResilientRoundTripper ¶
func NewDefaultResilientRoundTripper( maxInterval time.Duration, maxElapsedTime time.Duration, ) *ResilientRoundTripper
NewDefaultResilientRoundTripper returns a new ResilientRoundTripper with defaults.
func NewResilientRoundTripper ¶
func NewResilientRoundTripper( roundTripper http.RoundTripper, maxInterval time.Duration, maxElapsedTime time.Duration, ) *ResilientRoundTripper
NewResilientRoundTripper returns a new ResilientRoundTripper.
func (*ResilientRoundTripper) RoundTrip ¶
RoundTrip executes a single HTTP transaction, returning a Response for the provided Request.
func (*ResilientRoundTripper) WithShouldRetry ¶
func (rt *ResilientRoundTripper) WithShouldRetry(policy RetryPolicy) *ResilientRoundTripper
WithShouldRetry sets a RetryPolicy.
type RetryPolicy ¶
RetryPolicy returns true if the request should be retried.
func LoggedShouldRetry ¶
func LoggedShouldRetry(l logrus.FieldLogger) RetryPolicy
LoggedShouldRetry returns a RetryPolicy that logs erros.
Click to show internal directories.
Click to hide internal directories.