summaryrefslogtreecommitdiffstats
path: root/src/fail.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/fail.rs')
-rw-r--r--src/fail.rs23
1 files changed, 22 insertions, 1 deletions
diff --git a/src/fail.rs b/src/fail.rs
index b3351ba..1e6baf0 100644
--- a/src/fail.rs
+++ b/src/fail.rs
@@ -103,7 +103,9 @@ pub enum HError {
#[fail(display = "Failed to parse integer!")]
ParseIntError(std::num::ParseIntError),
#[fail(display = "{}", _0)]
- Media(MediaError)
+ Media(MediaError),
+ #[fail(display = "{}", _0)]
+ Mime(MimeError),
}
impl HError {
@@ -331,3 +333,22 @@ impl From<std::num::ParseIntError> for HError {
err
}
}
+
+
+// MIME Errors
+
+#[derive(Fail, Debug, Clone)]
+pub enum MimeError {
+ #[fail(display = "Need a file to determine MIME type")]
+ NoFileProvided,
+ #[fail(display = "File access failed! Error: {}", _0)]
+ AccessFailed(Box<HError>),
+ #[fail(display = "No MIME type found for this file",)]
+ NoMimeFound
+}
+
+impl From<MimeError> for HError {
+ fn from(e: MimeError) -> Self {
+ HError::Mime(e)
+ }
+}