eskom_se_push_api/
errors.rs

1#[derive(thiserror::Error, Debug)]
2pub enum HttpError {
3  #[error("API Error: {0}")]
4  APIError(#[from] APIError), //400
5  #[error("Timeout")]
6  Timeout,
7  #[error("No Internet")]
8  NoInternet,
9  #[error("UnknownError")]
10  Unknown,
11  #[error("Response Error: {0}")]
12  #[cfg(any(feature = "reqwest", doc))]
13  ResponseError(#[from] reqwest::Error),
14  #[cfg(any(feature = "ureq", doc))]
15  #[error("Response Error: {0}")]
16  UreqResponseError(String),
17  #[error("Search text not set")]
18  SearchTextNotSet,
19  #[error("Area ID not set")]
20  AreaIdNotSet,
21  #[error(
22    "Longitude and/or latitude has not been set: Long: {longitude:?} latitude: {latitude:?}"
23  )]
24  LongitudeOrLatitudeNotSet { longitude: f32, latitude: f32 },
25  #[error("Unknown error: {0}")]
26  UnknownError(String),
27}
28
29#[derive(thiserror::Error, Debug)]
30pub enum APIError {
31  #[error("Bad Request (You sent something bad)")]
32  BadRequest,
33  #[error("Not Authenticated (Token Invalid / Disabled)")]
34  Forbidden,
35  #[error("Not found")]
36  NotFound,
37  #[error("Too Many Requests (Token quota exceeded)")]
38  TooManyRequests,
39  #[error("Server Error: {0}")]
40  ServerError(String),
41}