1use crate::message::Message;
4
5#[derive(Debug, thiserror::Error)]
7pub enum Error {
8 #[error("couldn't connect to the web-socket")]
10 Connect(#[source] tungstenite::Error),
11 #[error("couldn't serialize message")]
13 Serialize(#[source] serde_json::Error),
14 #[error("couldn't deserialize message")]
16 Deserialize(#[source] serde_json::Error),
17 #[error("couldn't send message {msg}")]
19 Send {
20 msg: Message<()>,
22 #[source]
23 backtrace: tungstenite::Error,
25 },
26 #[error("couldn't receive the message")]
28 Recv(#[source] tungstenite::Error),
29 #[error("couldn't decode websocket message, not of type text")]
31 WebSocketMessageType(#[source] tungstenite::Error),
32 #[error("the web-socket disconnected")]
34 Disconnected,
35}