use super::HeaderName;
#[derive(Debug, Clone, thiserror::Error, PartialEq)]
pub enum Error {
#[error("header line could not be folded")]
HeaderLineCouldNotBeFolded(String),
#[error("header line could not be interpreted as text")]
HeaderLineInvalidText {
line: Vec<u8>,
source: std::str::Utf8Error,
},
#[error("invalid header line")]
HeaderLineMissingColon(String),
#[error("header line too long")]
HeaderLineTooLong(Vec<u8>),
#[error("header name contains an illegal character")]
HeaderNameContainsIllegalCharacter(String),
#[error("header value contains an illegal character")]
HeaderValueContainsIllegalCharacter {
name: HeaderName,
value_segment: String,
},
#[error("error during string format")]
StringFormat(std::fmt::Error),
}
impl From<std::fmt::Error> for Error {
fn from(error: std::fmt::Error) -> Self {
Error::StringFormat(error)
}
}