1use std::fmt::{Display, Formatter, Result as FmtResult};
2use std::error;
3#[cfg(feature = "reqwest")]
4use reqwest;
5
6#[derive(Debug)]
7pub enum Error {
8 #[cfg(feature = "reqwest")]
9 NetworkError(reqwest::Error),
10 Unexpected,
11}
12
13impl Display for Error {
14 fn fmt(&self, f: &mut Formatter) -> FmtResult {
15 match *self {
16 #[cfg(feature = "reqwest")]
17 Error::NetworkError(ref e) => write!(f, "NetworkError: {}", e),
18 Error::Unexpected => write!(f, "UnexpectedError"),
19 }
20 }
21}
22
23#[cfg(feature = "reqwest")]
24impl From<reqwest::Error> for Error {
25 fn from(err: reqwest::Error) -> Error {
26 Error::NetworkError(err)
27 }
28}
29
30impl error::Error for Error {
31 fn description(&self) -> &str { "" }
32}