1use thiserror::Error as ThisError;
2
3pub type Result<T> = std::result::Result<T, Error>;
4
5#[derive(ThisError, Debug)]
6pub enum Error {
7 #[error(transparent)]
8 IO(#[from] std::io::Error),
9
10 #[error("Try From Endpoint Error")]
11 TryFromEndpoint,
12
13 #[error("Unsupported Endpoint {0}")]
14 UnsupportedEndpoint(String),
15
16 #[error("Parse Endpoint Error {0}")]
17 ParseEndpoint(String),
18
19 #[cfg(feature = "ws")]
20 #[error("Ws Error: {0}")]
21 WsError(#[from] Box<async_tungstenite::tungstenite::Error>),
22
23 #[cfg(feature = "tls")]
24 #[error("Invalid DNS Name: {0}")]
25 InvalidDnsNameError(#[from] rustls_pki_types::InvalidDnsNameError),
26
27 #[error(transparent)]
28 KaryonCore(#[from] karyon_core::Error),
29}