bitpanda_api/api/
error.rs1use reqwest::Error as HttpError;
4use serde_json::Error as JsonError;
5use thiserror::Error;
6
7#[derive(Debug, Error)]
8pub enum ApiError {
9 #[error("Http error: {0}")]
10 Http(HttpError),
11 #[error("No such asset: {0}")]
12 NoSuchAsset(String),
13 #[error("Parse error: {0}")]
14 Parse(JsonError),
15 #[error("Server error")]
16 ServerError,
17 #[error("Unexpected value: {0}")]
18 UnexpectedValue(String),
19 #[error("Client unauthorized")]
20 Unauthorized,
21}
22
23impl From<HttpError> for ApiError {
24 fn from(value: HttpError) -> Self {
25 Self::Http(value)
26 }
27}
28
29impl From<JsonError> for ApiError {
30 fn from(value: JsonError) -> Self {
31 Self::Parse(value)
32 }
33}