aboutsummaryrefslogtreecommitdiff
path: root/src/error.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/error.rs')
-rw-r--r--src/error.rs27
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:?}")
+ }
+}