phoenix_chan/
error.rs

1//! Errors returned by the client.
2
3use crate::message::Message;
4
5/// Error returned by the [`Client`](crate::client::Client) or connection.
6#[derive(Debug, thiserror::Error)]
7pub enum Error {
8    /// Couldn't connect to the web-socket
9    #[error("couldn't connect to the web-socket")]
10    Connect(#[source] tungstenite::Error),
11    /// Couldn't serialize message
12    #[error("couldn't serialize message")]
13    Serialize(#[source] serde_json::Error),
14    /// Couldn't de-serialize message
15    #[error("couldn't deserialize message")]
16    Deserialize(#[source] serde_json::Error),
17    /// Couldn't send a message
18    #[error("couldn't send message {msg}")]
19    Send {
20        /// The message that was sent
21        msg: Message<()>,
22        #[source]
23        /// Backtrace error
24        backtrace: tungstenite::Error,
25    },
26    /// Couldn't receive the message
27    #[error("couldn't receive the message")]
28    Recv(#[source] tungstenite::Error),
29    /// Couldn't decode WebSocket message, not of type text
30    #[error("couldn't decode websocket message, not of type text")]
31    WebSocketMessageType(#[source] tungstenite::Error),
32    /// Disconnected from the web socket
33    #[error("the web-socket disconnected")]
34    Disconnected,
35}