1use std::fmt::{Display, Formatter};
4use std::error::Error;
5use std::result::Result;
6use std::fmt;
7
8#[derive(Debug)]
11pub enum HypixelError {
12 Reqwest(reqwest::Error),
14 FailedResponse(u16, String),
16 Json(serde_json ::Error)
18}
19
20impl Error for HypixelError {}
21
22impl Display for HypixelError {
23 fn fmt(&self, f: &mut Formatter) -> Result<(), fmt::Error> {
24 use HypixelError::*;
25 match self {
26 Reqwest(e) => write!(f, "Reqwest error: {}", e)?,
27 FailedResponse(c, r) => write!(f, "Unexpected status code: {} reason: {}", c, r)?,
28 Json(e) => write!(f, "Could not de-serialize JSON: {}", e)?,
29 }
30 Ok(())
31 }
32}