use parse_display::{Display, FromStr as DeriveFromStr};
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize, Display, DeriveFromStr)]
#[serde(rename_all = "snake_case")]
#[display(style = "snake_case")]
pub enum HttpConfigErrorKind {
#[display("missing field")]
#[from_str(regex = "(?i)missing\\s+field")]
MissingField,
#[display("type error")]
#[from_str(regex = "(?i)type\\s+error")]
TypeError,
#[display("invalid value")]
#[from_str(regex = "(?i)invalid\\s+value")]
InvalidValue,
#[display("invalid header")]
#[from_str(regex = "(?i)invalid\\s+header")]
InvalidHeader,
#[display("config error")]
#[from_str(regex = "(?i)config\\s+error")]
ConfigError,
}