synth_ai_core/tunnels/
errors.rs1use thiserror::Error;
2
3#[derive(Debug, Error)]
4pub enum TunnelError {
5 #[error("tunnel config error: {0}")]
6 Config(String),
7 #[error("tunnel API error: {0}")]
8 Api(String),
9 #[error("lease error: {0}")]
10 Lease(String),
11 #[error("connector error: {0}")]
12 Connector(String),
13 #[error("gateway error: {0}")]
14 Gateway(String),
15 #[error("local app error: {0}")]
16 LocalApp(String),
17 #[error("dns error: {0}")]
18 Dns(String),
19 #[error("process error: {0}")]
20 Process(String),
21 #[error("websocket error: {0}")]
22 WebSocket(String),
23}
24
25impl TunnelError {
26 pub fn config(msg: impl Into<String>) -> Self {
27 TunnelError::Config(msg.into())
28 }
29 pub fn api(msg: impl Into<String>) -> Self {
30 TunnelError::Api(msg.into())
31 }
32 pub fn lease(msg: impl Into<String>) -> Self {
33 TunnelError::Lease(msg.into())
34 }
35 pub fn connector(msg: impl Into<String>) -> Self {
36 TunnelError::Connector(msg.into())
37 }
38 pub fn gateway(msg: impl Into<String>) -> Self {
39 TunnelError::Gateway(msg.into())
40 }
41 pub fn local(msg: impl Into<String>) -> Self {
42 TunnelError::LocalApp(msg.into())
43 }
44 pub fn dns(msg: impl Into<String>) -> Self {
45 TunnelError::Dns(msg.into())
46 }
47 pub fn process(msg: impl Into<String>) -> Self {
48 TunnelError::Process(msg.into())
49 }
50 pub fn websocket(msg: impl Into<String>) -> Self {
51 TunnelError::WebSocket(msg.into())
52 }
53}