evaluate method
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;
}