diff options
Diffstat (limited to 'src/error.rs')
-rw-r--r-- | src/error.rs | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/error.rs b/src/error.rs new file mode 100644 index 0000000..07bb578 --- /dev/null +++ b/src/error.rs @@ -0,0 +1,32 @@ +use reqwest::Error as ReqwestError; +use std::convert::From; + +#[derive(Debug)] +enum Kind { + Reqwest(ReqwestError), + ClientError(String), +} + +#[derive(Debug)] +pub struct Error { + inner: Kind +} + + +impl From<reqwest::Error> for Error { + + fn from(err: ReqwestError) -> Error { + Error { + inner: Kind::Reqwest(err) + } + } +} + +impl From<futures::Canceled> for Error { + + fn from(_err: futures::Canceled) -> Error { + Error { + inner: Kind::ClientError("Oneshot channel unexpectedly closed".to_owned()) + } + } +} |