bitpanda_api/api/
error.rs

1//! # Error
2
3use 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}