1use std::error::Error;
2use std::fmt;
3
4#[derive(Debug)]
6pub enum EpicAPIError {
7 InvalidCredentials,
9 APIError(String),
11 Unknown,
13 InvalidParams,
15 Server,
17 FabTimeout,
19}
20
21impl fmt::Display for EpicAPIError {
22 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
23 match self {
24 EpicAPIError::InvalidCredentials => {
25 write!(f, "Invalid Credentials")
26 }
27 EpicAPIError::Unknown => {
28 write!(f, "Unknown Error")
29 }
30 EpicAPIError::Server => {
31 write!(f, "Server Error")
32 }
33 EpicAPIError::APIError(e) => {
34 write!(f, "API Error: {}", e)
35 }
36 EpicAPIError::InvalidParams => {
37 write!(f, "Invalid Input Parameters")
38 }
39 EpicAPIError::FabTimeout => {
40 write!(f, "Fab Timeout Error")
41 }
42 }
43 }
44}
45
46impl Error for EpicAPIError {
47 fn description(&self) -> &str {
48 match *self {
49 EpicAPIError::InvalidCredentials => "Invalid Credentials",
50 EpicAPIError::Unknown => "Unknown Error",
51 EpicAPIError::Server => "Server Error",
52 EpicAPIError::APIError(_) => "API Error",
53 EpicAPIError::InvalidParams => "Invalid Input Parameters",
54 EpicAPIError::FabTimeout => "Fab Timeout Error",
55 }
56 }
57}