evaluate method

FutureOr<bool> evaluate(
  1. DioError error,
  2. int attempt
)

Returns true only if the response hasn't been cancelled or got a bad status code.

Implementation

// ignore: avoid-unused-parameters
FutureOr<bool> evaluate(DioError error, int attempt) {
  bool shouldRetry;
  if (error.type == DioErrorType.response) {
    final statusCode = error.response?.statusCode;
    if (statusCode != null) {
      shouldRetry = isRetryable(statusCode);
    } else {
      shouldRetry = true;
    }
  } else {
    shouldRetry =
        error.type != DioErrorType.cancel && error.error is! FormatException;
  }
  currentAttempt = attempt;
  return shouldRetry;
}