use crate::PartHead;
use std::fmt;
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
#[non_exhaustive]
pub struct Parsed<'a> {
pub consumed: usize,
pub event: MultipartEvent<'a>,
}
#[derive(Clone, Copy, PartialEq, Eq)]
pub enum MultipartEvent<'a> {
Part(PartHead<'a>),
Content(&'a [u8]),
PartEnd,
End,
Incomplete,
}
impl fmt::Debug for MultipartEvent<'_> {
fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
Self::Part(head) => formatter.debug_tuple("Part").field(head).finish(),
Self::Content(content) => write!(formatter, "Content(<{} bytes>)", content.len()),
Self::PartEnd => formatter.write_str("PartEnd"),
Self::End => formatter.write_str("End"),
Self::Incomplete => formatter.write_str("Incomplete"),
}
}
}