statusCodeRetryDelay property

Duration get statusCodeRetryDelay

Gets suggested retry delay as a Duration based on status code

Implementation

Duration get statusCodeRetryDelay {
  if (!isRetryableError) return Duration.zero;
  return switch (this!.toInt()) {
    408 => const Duration(seconds: 5), // Request Timeout: 5 seconds
    429 => const Duration(minutes: 1), // Rate Limit: 1 minute
    503 => const Duration(minutes: 5), // Service Unavailable: 5 minutes
    504 => const Duration(seconds: 10), // Gateway Timeout: 10 seconds
    _ => const Duration(seconds: 30), // Default: 30 seconds
  };
}