From 98fb79b85e3cfbb547e5340b30623511daf09ef5 Mon Sep 17 00:00:00 2001 From: David Blajda Date: Wed, 8 May 2019 15:38:37 +0000 Subject: :WIP: Move types to a different crate --- src/error.rs | 94 ------------------------------------------------------------ 1 file changed, 94 deletions(-) delete mode 100644 src/error.rs (limited to 'src/error.rs') 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, -} - -impl From> for ConditionError { - fn from(other: SharedError) -> Self { - (*other).clone() - } -} - -impl From 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), - RatelimitError(Option), -} - -#[derive(Debug)] -pub struct Error { - inner: Kind -} - -impl Error { - pub fn auth_error(message: Option) -> Error { - Error { inner: Kind::AuthError(message) } - } - - pub fn ratelimit_error(message: Option) -> 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 for Error { - - fn from(err: ReqwestError) -> Error { - Error { - inner: Kind::Reqwest(err) - } - } -} - -impl From for Error { - fn from(err: std::io::Error) -> Self { - Error { inner: Kind::Io(err) } - } -} - -impl From for Error { - - fn from(err: JsonError) -> Error { - Error { inner: Kind::Json(err) } - } -} - -impl From for Error { - - fn from(err: ConditionError) -> Error { - Error { inner: Kind::ConditionError(err) } - } -} -- cgit v1.2.3