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}