#[derive(Debug, Clone, PartialEq, Eq, thiserror::Error)]
pub enum ParseError {
#[error("Invalid status code: {0}")]
InvalidStatusCode(u16),
#[error("Missing blank line separator between headers and body")]
MissingSeparator,
#[error("Invalid header: {0}")]
InvalidHeader(String),
#[error("HEAD response should not contain body")]
UnexpectedBody,
#[error("Invalid yenc: {0}")]
InvalidYenc(String),
#[error("Buffer too short to contain valid response")]
BufferTooShort,
#[error("Invalid message-ID: {0}")]
InvalidMessageId(String),
}
impl From<crate::types::validated::ValidationError> for ParseError {
fn from(err: crate::types::validated::ValidationError) -> Self {
Self::InvalidMessageId(err.to_string())
}
}