1use alpaca_base::AlpacaError;
4use thiserror::Error;
5
6#[derive(Error, Debug)]
8pub enum HttpError {
9 #[error(transparent)]
11 Base(#[from] AlpacaError),
12
13 #[error("HTTP client error: {0}")]
15 Client(#[from] reqwest::Error),
16
17 #[error("URL parsing error: {0}")]
19 Url(#[from] url::ParseError),
20
21 #[error("Request timeout")]
23 Timeout,
24
25 #[error("Rate limited: {0}")]
27 RateLimited(String),
28
29 #[error("Server error: {status} - {message}")]
31 Server {
32 status: u16,
34 message: String,
36 },
37}