route_ratelimit/
error.rs

1//! Error types for rate limiting.
2
3use std::time::Duration;
4use thiserror::Error;
5
6/// Errors that can occur during rate limiting.
7#[derive(Debug, Error)]
8pub enum RateLimitError {
9    /// The request was rate limited and the configured behavior is to error.
10    #[error("rate limit exceeded, retry after {0:?}")]
11    RateLimited(Duration),
12}
13
14impl From<RateLimitError> for reqwest_middleware::Error {
15    fn from(err: RateLimitError) -> Self {
16        reqwest_middleware::Error::Middleware(err.into())
17    }
18}