use crate::message::Message;
#[derive(Debug, thiserror::Error)]
pub enum Error {
#[error("couldn't connect to the web-socket")]
Connect(#[source] tungstenite::Error),
#[error("couldn't serialize message")]
Serialize(#[source] serde_json::Error),
#[error("couldn't deserialize message")]
Deserialize(#[source] serde_json::Error),
#[error("couldn't send message {msg}")]
Send {
msg: Message<()>,
#[source]
backtrace: tungstenite::Error,
},
#[error("couldn't receive the message")]
Recv(#[source] tungstenite::Error),
#[error("couldn't decode websocket message, not of type text")]
WebSocketMessageType(#[source] tungstenite::Error),
#[error("the web-socket disconnected")]
Disconnected,
}