summaryrefslogtreecommitdiffstats
path: root/parser/src/error.rs
diff options
context:
space:
mode:
Diffstat (limited to 'parser/src/error.rs')
-rw-r--r--parser/src/error.rs70
1 files changed, 0 insertions, 70 deletions
diff --git a/parser/src/error.rs b/parser/src/error.rs
deleted file mode 100644
index fc7a518..0000000
--- a/parser/src/error.rs
+++ /dev/null
@@ -1,70 +0,0 @@
-use std::ops::Deref;
-
-/// An error type that represents the different kinds of errors that may be
-/// encountered during message parsing.
-#[derive(Debug)]
-pub enum MailParseError {
- /// Data that was specified as being in the quoted-printable transfer-encoding
- /// could not be successfully decoded as quoted-printable data.
- QuotedPrintableDecodeError(quoted_printable::QuotedPrintableError),
- /// Data that was specified as being in the base64 transfer-encoding could
- /// not be successfully decoded as base64 data.
- Base64DecodeError(base64::DecodeError),
- /// An error occurred when converting the raw byte data to Rust UTF-8 string
- /// format using the charset specified in the message.
- EncodingError(std::borrow::Cow<'static, str>),
- /// Some other error occurred while parsing the message; the description string
- /// provides additional details.
- Generic(&'static str),
-}
-
-impl ::std::fmt::Display for MailParseError {
- fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
- match *self {
- MailParseError::QuotedPrintableDecodeError(ref err) => {
- write!(f, "QuotedPrintable decode error: {}", err)
- }
- MailParseError::Base64DecodeError(ref err) => write!(f, "Base64 decode error: {}", err),
- MailParseError::EncodingError(ref err) => write!(f, "Encoding error: {}", err),
- MailParseError::Generic(ref description) => write!(f, "{}", description),
- }
- }
-}
-
-impl ::std::error::Error for MailParseError {
- fn description(&self) -> &str {
- match *self {
- MailParseError::QuotedPrintableDecodeError(ref err) => err.description(),
- MailParseError::Base64DecodeError(ref err) => err.description(),
- MailParseError::EncodingError(ref err) => err.deref(),
- _ => "An error occurred while attempting to parse the input",
- }
- }
-
- fn cause(&self) -> Option<&dyn ::std::error::Error> {
- match *self {
- MailParseError::QuotedPrintableDecodeError(ref err) => Some(err),
- MailParseError::Base64DecodeError(ref err) => Some(err),
- _ => None,
- }
- }
-}
-
-impl From<quoted_printable::QuotedPrintableError> for MailParseError {
- fn from(err: quoted_printable::QuotedPrintableError) -> MailParseError {
- MailParseError::QuotedPrintableDecodeError(err)
- }
-}
-
-impl From<base64::DecodeError> for MailParseError {
- fn from(err: base64::DecodeError) -> MailParseError {
- MailParseError::Base64DecodeError(err)
- }
-}
-
-impl From<std::borrow::Cow<'static, str>> for MailParseError {
- fn from(err: std::borrow::Cow<'static, str>) -> MailParseError {
- MailParseError::EncodingError(err)
- }
-}
-