FetchStrategyBuilder class

Builds a FetchStrategy function that retries up to a certain amount of times for up to a certain amount of time.

Pauses between retries with pauses growing exponentially (known as exponential backoff). Each attempt is subject to a timeout. Retries only those HTTP status codes considered transient by a transientHttpStatusCodePredicate function.

Constructors

FetchStrategyBuilder({Duration timeout = const Duration(seconds: 30), Duration totalFetchTimeout = const Duration(minutes: 1), int maxAttempts = 5, Duration initialPauseBetweenRetries = const Duration(seconds: 1), num exponentialBackoffMultiplier = 2, TransientHttpStatusCodePredicate transientHttpStatusCodePredicate = defaultTransientHttpStatusCodePredicate})
Creates a fetch strategy builder.
const

Properties

exponentialBackoffMultiplier num
The pause between retries is multiplied by this number with each attempt, causing it to grow exponentially.
final
hashCode int
The hash code for this object.
no setterinherited
initialPauseBetweenRetries Duration
Initial amount of time between retries.
final
maxAttempts int
Maximum number of attempts a strategy will make before giving up.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
timeout Duration
Maximum amount of time a single fetch attempt is allowed to take.
final
totalFetchTimeout Duration
A strategy built by this builder will retry for up to this amount of time before giving up.
final
transientHttpStatusCodePredicate TransientHttpStatusCodePredicate
A function that determines whether a given HTTP status code should be retried.
final

Methods

build() FetchStrategy
Builds a FetchStrategy that operates using the properties of this builder.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

defaultTransientHttpStatusCodePredicate(int statusCode) bool
Uses defaultTransientHttpStatusCodes to determine if the statusCode is transient.

Constants

defaultTransientHttpStatusCodes → const List<int>
A list of HTTP status codes that can generally be retried.