use rocket::{http::Status, Responder}; #[derive(Responder, Debug)] pub enum BlossomError { Reqwest(Status, #[response(ignore)] reqwest::Error), ListenBrainz(Status, #[response(ignore)] listenbrainz::Error), Skinnyverse(Status, #[response(ignore)] mastodon_async::Error), Unimplemented(Status), } impl From for BlossomError { fn from(e: reqwest::Error) -> Self { BlossomError::Reqwest(Status::new(500), e) } } impl From for BlossomError { fn from(e: listenbrainz::Error) -> Self { BlossomError::ListenBrainz(Status::new(500), e) } } impl From for BlossomError { fn from(e: mastodon_async::Error) -> Self { BlossomError::Skinnyverse(Status::new(500), e) } }