1use native_tls::TlsStream;
2use std::io;
3use std::net::TcpStream;
4use thiserror::Error;
5use tungstenite::ClientHandshake;
6
7#[derive(Error, Debug)]
8pub enum EIMZOError {
9 #[error("A websocket server went down: {0}")]
10 Io(#[from] io::Error),
11 #[error("JsonParse error: {0}")]
12 JsonParse(#[from] serde_json::Error),
13 #[error("UrlParseError error: {0}")]
14 UrlParseError(#[from] url::ParseError),
15 #[error("TlsError error: {0}")]
17 TlsError(#[from] native_tls::Error),
18 #[error("TlsHandshakeError error: {0}")]
19 TlsHandshakeError(#[from] native_tls::HandshakeError<TcpStream>),
20 #[error("HandshakeError error: {0}")]
21 HandshakeError(#[from] tungstenite::HandshakeError<ClientHandshake<TlsStream<TcpStream>>>),
22}