diff options
Diffstat (limited to 'src/errors.rs')
-rw-r--r-- | src/errors.rs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/errors.rs b/src/errors.rs index 5af8c44..36be662 100644 --- a/src/errors.rs +++ b/src/errors.rs @@ -6,6 +6,7 @@ use serde_json::Error as SerdeError; use std::error::Error as StdError; use std::fmt; use std::io::Error as IoError; +use std::string::FromUtf8Error; #[derive(Debug)] pub enum Error { @@ -13,6 +14,8 @@ pub enum Error { Hyper(hyper::Error), Http(http::Error), IO(IoError), + Encoding(FromUtf8Error), + InvalidResponse(String), Fault { code: StatusCode, message: String }, } @@ -51,6 +54,10 @@ impl fmt::Display for Error { Error::Http(ref err) => err.fmt(f), Error::Hyper(ref err) => err.fmt(f), Error::IO(ref err) => err.fmt(f), + Error::Encoding(ref err) => err.fmt(f), + Error::InvalidResponse(ref cause) => { + write!(f, "Response doesn't have the expected format: {}", cause) + } Error::Fault { code, .. } => write!(f, "{}", code), } } |