diff options
author | David Blajda <blajda@hotmail.com> | 2019-05-08 15:38:37 +0000 |
---|---|---|
committer | David Blajda <blajda@hotmail.com> | 2019-05-08 15:38:37 +0000 |
commit | 98fb79b85e3cfbb547e5340b30623511daf09ef5 (patch) | |
tree | a03bd7a95c86a92eb7510409429f50433056d7ab /src/error.rs | |
parent | 0e09c2c06fc0b81f11d12985a4172c815233db17 (diff) |
:WIP: Move types to a different crate
Diffstat (limited to 'src/error.rs')
-rw-r--r-- | src/error.rs | 94 |
1 files changed, 0 insertions, 94 deletions
diff --git a/src/error.rs b/src/error.rs deleted file mode 100644 index c291b5d..0000000 --- a/src/error.rs +++ /dev/null @@ -1,94 +0,0 @@ -use reqwest::Error as ReqwestError; -use futures::future::SharedError; -use std::convert::From; -use std::sync::Arc; -use serde_json::Error as JsonError; -use crate::models::Message; - -#[derive(Clone, Debug)] -pub struct ConditionError { - inner: Arc<Error>, -} - -impl From<SharedError<ConditionError>> for ConditionError { - fn from(other: SharedError<ConditionError>) -> Self { - (*other).clone() - } -} - -impl From<Error> for ConditionError { - fn from(other: Error) -> Self { - ConditionError{ inner: Arc::new(other) } - } -} - -#[derive(Debug)] -enum Kind { - Reqwest(ReqwestError), - ConditionError(ConditionError), - Io(std::io::Error), - Json(JsonError), - AuthError(Option<Message>), - RatelimitError(Option<Message>), -} - -#[derive(Debug)] -pub struct Error { - inner: Kind -} - -impl Error { - pub fn auth_error(message: Option<Message>) -> Error { - Error { inner: Kind::AuthError(message) } - } - - pub fn ratelimit_error(message: Option<Message>) -> Error { - Error { inner: Kind::RatelimitError(message) } - } - - pub fn is_auth_error(&self) -> bool { - match &self.inner { - Kind::AuthError(_) => true, - Kind::ConditionError(condition) => condition.inner.is_auth_error(), - _ => false, - } - } - - pub fn is_ratelimit_error(&self) -> bool { - match &self.inner { - Kind::RatelimitError(_) => true, - Kind::ConditionError(condition) => condition.inner.is_ratelimit_error(), - _ => false, - } - } -} - - -impl From<reqwest::Error> for Error { - - fn from(err: ReqwestError) -> Error { - Error { - inner: Kind::Reqwest(err) - } - } -} - -impl From<std::io::Error> for Error { - fn from(err: std::io::Error) -> Self { - Error { inner: Kind::Io(err) } - } -} - -impl From<JsonError> for Error { - - fn from(err: JsonError) -> Error { - Error { inner: Kind::Json(err) } - } -} - -impl From<ConditionError> for Error { - - fn from(err: ConditionError) -> Error { - Error { inner: Kind::ConditionError(err) } - } -} |