Skip to main content

phoenix_channels/
error.rs

1use std::io;
2use serde_json;
3use websocket::result::WebSocketError;
4use websocket::client::ParseError;
5
6
7#[derive(Debug)]
8pub enum MessageError {
9    WebSocket(WebSocketError),
10    Json(serde_json::Error),
11}
12
13impl From<WebSocketError> for MessageError {
14    fn from(e: WebSocketError) -> Self {
15        return MessageError::WebSocket(e);
16    }
17}
18
19impl From<serde_json::Error> for MessageError {
20    fn from(e: serde_json::Error) -> Self {
21        return MessageError::Json(e);
22    }
23}
24
25
26#[derive(Debug)]
27pub enum ConnectError {
28    WebSocket(WebSocketError),
29    Parse(ParseError),
30    IO(io::Error),
31}
32
33impl From<WebSocketError> for ConnectError {
34    fn from(e: WebSocketError) -> Self {
35        return ConnectError::WebSocket(e);
36    }
37}
38
39impl From<ParseError> for ConnectError {
40    fn from(e: ParseError) -> Self {
41        return ConnectError::Parse(e);
42    }
43}
44
45impl From<io::Error> for ConnectError {
46    fn from(e: io::Error) -> Self {
47        return ConnectError::IO(e);
48    }
49}
50
51
52#[derive(Debug)]
53pub enum JoinError {
54    WebSocket(WebSocketError),
55    Json(serde_json::Error),
56}
57
58impl From<serde_json::Error> for JoinError {
59    fn from(e: serde_json::Error) -> Self {
60        return JoinError::Json(e);
61    }
62}
63
64impl From<WebSocketError> for JoinError {
65    fn from(e: WebSocketError) -> Self {
66        return JoinError::WebSocket(e);
67    }
68}