forevervm_sdk/client/
error.rs

1use crate::api::ApiErrorResponse;
2
3pub type Result<T> = std::result::Result<T, ClientError>;
4
5#[derive(thiserror::Error, Debug)]
6pub enum ClientError {
7    #[error("Api error: {0}")]
8    ApiError(#[from] ApiErrorResponse),
9
10    #[error("Reqwest error: {0}")]
11    ReqwestError(#[from] reqwest::Error),
12
13    #[error("Server responded with code {code} and message {message}")]
14    ServerResponseError { code: u16, message: String },
15
16    #[error("Invalid URL")]
17    InvalidUrl,
18
19    #[error("Error parsing url: {0}")]
20    UrlError(#[from] url::ParseError),
21
22    #[error("Error deserializing response: {0}")]
23    DeserializeError(#[from] serde_json::Error),
24
25    #[error("Error from Tungstenite: {0}")]
26    TungsteniteError(#[from] tungstenite::Error),
27
28    #[error("Http")]
29    HttpError(#[from] tungstenite::http::Error),
30
31    #[error("Instruction interrupted")]
32    InstructionInterrupted,
33
34    #[error("Other error: {0}")]
35    Other(String),
36}