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