+#[derive(Debug)]
+enum CanvasError {
+ NotExists
+}
+
+impl Display for CanvasError {
+ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+ write!(f, "Canvas Error: see error_response() for more details")
+ }
+}
+
+impl ResponseError for CanvasError {
+ fn status_code(&self) -> StatusCode {
+ match &self {
+ CanvasError::NotExists => StatusCode::NOT_FOUND
+ }
+ }
+
+ fn error_response(&self) -> HttpResponse<BoxBody> {
+ match &self {
+ CanvasError::NotExists => HttpResponse::NotFound().body("Canvas does not exist.")
+ }
+ }
+}
+