async_jsonrpc_client/
error.rs1#[cfg(any(feature = "http-async-std", feature = "http-tokio"))]
3#[derive(Debug, thiserror::Error)]
4pub enum HttpClientError {
5 #[error(transparent)]
7 Json(#[from] serde_json::Error),
8
9 #[cfg(feature = "http-async-std")]
11 #[error(transparent)]
12 Http(#[from] anyhow::Error),
13
14 #[cfg(feature = "http-tokio")]
16 #[error(transparent)]
17 Http(#[from] reqwest::Error),
18}
19
20#[cfg(any(feature = "ws-async-std", feature = "ws-tokio"))]
22pub use async_tungstenite::tungstenite::Error as WsError;
23
24#[cfg(any(feature = "ws-async-std", feature = "ws-tokio"))]
26#[derive(Debug, thiserror::Error)]
27pub enum WsClientError {
28 #[error(transparent)]
30 Json(#[from] serde_json::Error),
31 #[error(transparent)]
33 WebSocket(#[from] WsError),
34 #[error("WebSocket request timeout")]
36 RequestTimeout,
37 #[error("Duplicate request ID")]
39 DuplicateRequestId,
40 #[error("Invalid request ID")]
42 InvalidRequestId,
43 #[error("Invalid subscription ID")]
45 InvalidSubscriptionId,
46 #[error("Invalid Unsubscribe result")]
48 InvalidUnsubscribeResult,
49 #[error("Internal channel error")]
51 InternalChannel,
52}