pub(crate) const REQUEST_TIMEOUT: u16 = 408;
pub(crate) const TOO_EARLY: u16 = 425;
pub(crate) const TOO_MANY_REQUESTS: u16 = 429;
pub(crate) const INTERNAL_SERVER_ERROR: u16 = 500;
pub(crate) const BAD_GATEWAY: u16 = 502;
pub(crate) const SERVICE_UNAVAILABLE: u16 = 503;
pub(crate) const GATEWAY_TIMEOUT: u16 = 504;
pub const RETRYABLE_STATUSES: [u16; 7] = [
REQUEST_TIMEOUT,
TOO_EARLY,
TOO_MANY_REQUESTS,
INTERNAL_SERVER_ERROR,
BAD_GATEWAY,
SERVICE_UNAVAILABLE,
GATEWAY_TIMEOUT,
];
#[must_use]
pub const fn is_retryable_status(status: u16) -> bool {
let mut index = 0;
while index < RETRYABLE_STATUSES.len() {
if RETRYABLE_STATUSES[index] == status {
return true;
}
index += 1;
}
false
}