use std::num::ParseIntError;
use displaydoc::Display;
use thiserror::Error;
#[derive(Display, Debug, Error)]
pub enum Error {
MissingLimit,
MissingUsed,
MissingRemaining,
MissingReset,
NoMatchingVariant,
MissingRetryAfter,
InvalidRetryAfter(String),
HeaderWithoutColon(String),
InvalidHeaderName(#[from] http::header::InvalidHeaderName),
InvalidHeaderValue(#[from] http::header::InvalidHeaderValue),
ToStr(#[from] http::header::ToStrError),
InvalidValue(#[from] ParseIntError),
Lock,
Parse(#[from] time::error::Parse),
Time(#[from] time::error::ComponentRange),
InvalidDuration(String),
}
pub(crate) type Result<T> = std::result::Result<T, Error>;