diff options
Diffstat (limited to 'src/error.rs')
-rw-r--r-- | src/error.rs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/error.rs b/src/error.rs index 890a148..81cadd1 100644 --- a/src/error.rs +++ b/src/error.rs @@ -5,6 +5,10 @@ pub enum BlossomError { Reqwest(Status, #[response(ignore)] reqwest::Error), ListenBrainz(Status, #[response(ignore)] listenbrainz::Error), Skinnyverse(Status, #[response(ignore)] mastodon_async::Error), + Chrono(Status, #[response(ignore)] chrono::ParseError), + Io(Status, #[response(ignore)] std::io::Error), + Deserialization(Status, #[response(ignore)] toml::de::Error), + NoMetadata(Status), Unimplemented(Status), } @@ -25,3 +29,21 @@ impl From<mastodon_async::Error> for BlossomError { BlossomError::Skinnyverse(Status::new(500), e) } } + +impl From<chrono::ParseError> for BlossomError { + fn from(e: chrono::ParseError) -> Self { + BlossomError::Chrono(Status::new(500), e) + } +} + +impl From<std::io::Error> for BlossomError { + fn from(e: std::io::Error) -> Self { + BlossomError::Io(Status::new(500), e) + } +} + +impl From<toml::de::Error> for BlossomError { + fn from(e: toml::de::Error) -> Self { + BlossomError::Deserialization(Status::new(500), e) + } +} |