summaryrefslogtreecommitdiff
path: root/src/error.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/error.rs')
-rw-r--r--src/error.rs32
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())
+ }
+ }
+}