use std::time::Duration;
#[derive(Debug, thiserror::Error, Clone, PartialEq, Eq)]
pub enum RateLimitError {
#[error("client key unavailable ({0}): {1}")]
KeyUnavailable(String, String),
#[error("rate limit unavailable ({0}): {1}")]
LimitUnavailable(String, String),
#[error("rate-limit store unavailable ({0}): {1}")]
StoreUnavailable(String, String),
}
#[derive(Debug, thiserror::Error, Clone, PartialEq, Eq)]
pub enum ConfigError {
#[error("rate-limit window {0:?} is shorter than the minimum {1:?}")]
WindowTooShort(Duration, Duration),
#[error("empty policy name")]
EmptyPolicyName,
}