binance_sdk/common/
errors.rs1use thiserror::Error;
2
3#[derive(Error, Debug)]
4pub enum ConnectorError {
5 #[error("Connector client error: {0}")]
6 ConnectorClientError(String),
7
8 #[error("Unauthorized access. Authentication required. {0}")]
9 UnauthorizedError(String),
10
11 #[error("Access to the requested resource is forbidden. {0}")]
12 ForbiddenError(String),
13
14 #[error("Too many requests. You are being rate-limited. {0}")]
15 TooManyRequestsError(String),
16
17 #[error("The IP address has been banned for exceeding rate limits. {0}")]
18 RateLimitBanError(String),
19
20 #[error("Internal server error: {msg} (status code: {status_code:?})")]
21 ServerError {
22 msg: String,
23 status_code: Option<u16>,
24 },
25
26 #[error("Network error: {0}")]
27 NetworkError(String),
28
29 #[error("The requested resource was not found. {0}")]
30 NotFoundError(String),
31
32 #[error("Bad request: {0}")]
33 BadRequestError(String),
34}
35
36#[derive(Debug, Error)]
37pub enum WebsocketError {
38 #[error("WebSocket timeout error")]
39 Timeout,
40 #[error("WebSocket protocol error: {0}")]
41 Protocol(String),
42 #[error("URL parse error: {0}")]
43 Url(#[from] url::ParseError),
44 #[error("WebSocket handshake error: {0}")]
45 Handshake(String),
46 #[error("Network error: {0}")]
47 NetworkError(String),
48 #[error("No active WebSocket connection error.")]
49 NotConnected,
50 #[error("Server error: {0}")]
51 ServerError(String),
52 #[error("No response error.")]
53 NoResponse,
54 #[error("Serverāside response error (code {code}): {message}")]
55 ResponseError { code: i64, message: String },
56}