1use thiserror::Error;
4
5#[derive(Debug, Error)]
6pub enum Error {
7 #[error("HTTP error {status}: {message}")]
8 Api { status: u16, message: String },
9
10 #[error("Network error: {0}")]
11 Network(#[from] reqwest::Error),
12
13 #[error("JSON error: {0}")]
14 Json(#[from] serde_json::Error),
15
16 #[error("Config error: {0}")]
17 Config(String),
18
19 #[error("URL parse error: {0}")]
20 Url(String),
21
22 #[error("Room error: {0}")]
23 Room(String),
24
25 #[error("Room action timed out: {0}")]
26 RoomTimeout(String),
27
28 #[error("WebSocket error: {0}")]
29 WebSocket(String),
30}