validate header len

This commit is contained in:
yggverse 2025-03-19 03:13:37 +02:00
parent b62f990bf2
commit 6dbf49cea3
2 changed files with 44 additions and 27 deletions

View file

@ -5,23 +5,31 @@ use std::{
#[derive(Debug)]
pub enum Error {
Protocol,
Mime,
Code,
ContentType,
HeaderLen(usize),
Utf8Error(Utf8Error),
}
impl Display for Error {
fn fmt(&self, f: &mut Formatter) -> Result {
match self {
Self::Code => {
write!(f, "Unexpected status code")
}
Self::ContentType => {
write!(f, "Content type required")
}
Self::HeaderLen(l) => {
write!(
f,
"Header length reached protocol limit ({l} of {} bytes max)",
super::super::HEADER_LEN
)
}
Self::Utf8Error(e) => {
write!(f, "UTF-8 error: {e}")
}
Self::Protocol => {
write!(f, "Protocol error")
}
Self::Mime => {
write!(f, "MIME error")
}
}
}
}