diff options
Diffstat (limited to 'src/error.rs')
-rw-r--r-- | src/error.rs | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/error.rs b/src/error.rs new file mode 100644 index 0000000..04d7e38 --- /dev/null +++ b/src/error.rs @@ -0,0 +1,27 @@ +use std::fmt::Display; + +use rocket::{ + response::{self, Responder}, + Request, +}; +use thiserror::Error; + +pub type MyResult<T> = Result<T, MyError>; + +#[derive(Debug, Error)] +pub enum MyError { + Anyhow(#[from] anyhow::Error), + Io(#[from] std::io::Error), +} + +impl<'r> Responder<'r, 'static> for MyError { + fn respond_to(self, req: &'r Request<'_>) -> response::Result<'static> { + format!("{self}").respond_to(req) + } +} + +impl Display for MyError { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "{self:?}") + } +} |