RetryClient class

An HTTP client wrapper that automatically retries failing requests.

NOTE: RetryClient makes a copy of the request data in order to support resending it. This can cause a lot of memory usage when sending a large StreamedRequest.

Inheritance

Constructors

RetryClient(Client _inner, {int retries = 3, FutureOr<bool> when(BaseResponse) = _defaultWhen, FutureOr<bool> whenError(Object, StackTrace) = _defaultWhenError, Duration delay(int retryCount) = _defaultDelay, FutureOr<void> onRetry(BaseRequest, BaseResponse?, int retryCount)?})
Creates a client wrapping _inner that retries HTTP requests.
RetryClient.withDelays(Client inner, Iterable<Duration> delays, {FutureOr<bool> when(BaseResponse) = _defaultWhen, FutureOr<bool> whenError(Object, StackTrace) = _defaultWhenError, FutureOr<void> onRetry(BaseRequest, BaseResponse?, int retryCount)?})
Like RetryClient.new, but with a pre-computed list of delays between each retry.

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

close() → void
Closes the client and cleans up any resources associated with it.
override
delete(Uri url, {Map<String, String>? headers, Object? body, Encoding? encoding}) Future<Response>
Sends an HTTP DELETE request with the given headers to the given URL.
inherited
get(Uri url, {Map<String, String>? headers}) Future<Response>
Sends an HTTP GET request with the given headers to the given URL.
inherited
Sends an HTTP HEAD request with the given headers to the given URL.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
patch(Uri url, {Map<String, String>? headers, Object? body, Encoding? encoding}) Future<Response>
Sends an HTTP PATCH request with the given headers and body to the given URL.
inherited
post(Uri url, {Map<String, String>? headers, Object? body, Encoding? encoding}) Future<Response>
Sends an HTTP POST request with the given headers and body to the given URL.
inherited
put(Uri url, {Map<String, String>? headers, Object? body, Encoding? encoding}) Future<Response>
Sends an HTTP PUT request with the given headers and body to the given URL.
inherited
read(Uri url, {Map<String, String>? headers}) Future<String>
Sends an HTTP GET request with the given headers to the given URL and returns a Future that completes to the body of the response as a String.
inherited
readBytes(Uri url, {Map<String, String>? headers}) Future<Uint8List>
Sends an HTTP GET request with the given headers to the given URL and returns a Future that completes to the body of the response as a list of bytes.
inherited
send(BaseRequest request) Future<StreamedResponse>
Sends an HTTP request and asynchronously returns the response.
override
toString() String
A string representation of this object.
inherited

Operators

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