mod middleware;
mod retryable;
mod retryable_strategy;
pub use retry_policies::{policies, Jitter, RetryDecision, RetryPolicy};
use thiserror::Error;
pub use middleware::{RetryCount, RetryTransientMiddleware};
pub use retryable::Retryable;
pub use retryable_strategy::{
default_on_request_error, default_on_request_failure, default_on_request_success,
DefaultRetryableStrategy, RetryableStrategy,
};
#[derive(Debug, Error)]
pub enum RetryError {
#[error("Request failed after {retries} retries")]
WithRetries {
retries: u32,
#[source]
err: reqwest_middleware::Error,
},
#[error(transparent)]
Error(reqwest_middleware::Error),
}