retryClientProvider top-level property

AutoDisposeProviderFamily<RetryClient, RetryGroup> retryClientProvider
final

Retry client provider

Implementation

final retryClientProvider =
    Provider.autoDispose.family<RetryClient, RetryGroup>(
  (final ref, final group) => RetryClient(
    Client(),
    retries: group.retries,
    when: (final response) {
      /// Retry requests 3 times if any errors on the API
      if (response.statusCode >= 400) {
        final onRetry = group.onRetry;
        if (onRetry != null) {
          onRetry(response);
        }

        return true;
      }

      return false;
    },
    whenError: (final error, final stackTrace) {
      final onRetryError = group.onRetryError;
      if (onRetryError != null) {
        onRetryError(error, stackTrace);
      }

      return false;
    },
  ),
);