togglr_sdk/
errors.rs

1use thiserror::Error;
2
3pub type TogglrResult<T> = Result<T, TogglrError>;
4
5#[derive(Error, Debug)]
6pub enum TogglrError {
7    #[error("Invalid configuration: {0}")]
8    InvalidConfig(String),
9
10    #[error("HTTP error: {0}")]
11    HttpError(#[from] reqwest::Error),
12
13    #[error("Serialization error: {0}")]
14    SerializationError(#[from] serde_json::Error),
15
16    #[error("Bad request: {0}")]
17    BadRequest(String),
18
19    #[error("Unauthorized: {0}")]
20    Unauthorized(String),
21
22    #[error("Feature not found: {0}")]
23    FeatureNotFound(String),
24
25    #[error("Too many requests: {0}")]
26    TooManyRequests(String),
27
28    #[error("Internal server error: {0}")]
29    InternalServerError(String),
30
31    #[error("Timeout: {0}")]
32    Timeout(String),
33
34    #[error("Network error: {0}")]
35    NetworkError(String),
36
37    #[error("TLS error: {0}")]
38    TlsError(#[from] rustls::Error),
39
40    #[error("IO error: {0}")]
41    IoError(#[from] std::io::Error),
42
43    #[error("Unknown error: {0}")]
44    Unknown(String),
45}