use std::fmt;
#[derive(Clone,Copy,PartialEq)]
pub enum ParserError {
ChunkExtensionName(u8),
ChunkExtensionValue(u8),
ChunkLength(u8),
CrlfSequence(u8),
Dead,
HeaderName(u8),
HeaderValue(u8),
ChunkLengthOverflow,
Method(u8),
Multipart(u8),
MultipartBoundary(u8),
Status(u8),
StatusCode(u8),
Url(u8),
UrlEncodedName(u8),
UrlEncodedValue(u8),
Version(u8),
}
impl ParserError {
fn format(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
match *self {
ParserError::ChunkExtensionName(byte) => {
write!(
formatter,
"<ParserError::ChunkExtensionName: {}>",
byte
)
},
ParserError::ChunkExtensionValue(byte) => {
write!(
formatter,
"<ParserError::ChunkExtensionValue: {}>",
byte
)
},
ParserError::ChunkLength(byte) => {
write!(
formatter,
"<ParserError::ChunkLength: {}>",
byte
)
},
ParserError::ChunkLengthOverflow => {
write!(
formatter,
"<ParserError::ChunkLengthOverflow>"
)
},
ParserError::CrlfSequence(byte) => {
write!(
formatter,
"<ParserError::CrlfSequence: {}>",
byte
)
},
ParserError::Dead => {
write!(
formatter,
"<ParserError::Dead>"
)
},
ParserError::HeaderName(byte) => {
write!(
formatter,
"<ParserError::HeaderName: {}>",
byte
)
},
ParserError::HeaderValue(byte) => {
write!(
formatter,
"<ParserError::HeaderValue: {}>",
byte
)
},
ParserError::Method(byte) => {
write!(
formatter,
"<ParserError::Method: {}>",
byte
)
},
ParserError::Multipart(byte) => {
write!(
formatter,
"<ParserError::Multipart: {}>",
byte
)
},
ParserError::MultipartBoundary(byte) => {
write!(
formatter,
"<ParserError::MultipartBoundary: {}>",
byte
)
},
ParserError::Status(byte) => {
write!(
formatter,
"<ParserError::Status: {}>",
byte
)
},
ParserError::StatusCode(byte) => {
write!(
formatter,
"<ParserError::StatusCode: {}>",
byte
)
},
ParserError::Url(byte) => {
write!(
formatter,
"<ParserError::Url: {}>",
byte
)
},
ParserError::UrlEncodedName(byte) => {
write!(
formatter,
"<ParserError::UrlEncodedName: {}>",
byte
)
},
ParserError::UrlEncodedValue(byte) => {
write!(
formatter,
"<ParserError::UrlEncodedValue: {}>",
byte
)
},
ParserError::Version(byte) => {
write!(
formatter,
"<ParserError::Version: {}>",
byte
)
}
}
}
}
impl fmt::Debug for ParserError {
fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
self.format(formatter)
}
}
impl fmt::Display for ParserError {
fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
self.format(formatter)
}
}