@@ -44,7 +44,7 @@ func (c *Client) Connect() error {
44
44
wsDialer := websocket.Dialer {}
45
45
conn , _ , err := wsDialer .Dial (c .wsURL , nil )
46
46
if err != nil {
47
- return err
47
+ return fmt . Errorf ( "failed to dial websocket: %w" , err )
48
48
}
49
49
defer func () {
50
50
// Websocket protocol require the server to close the connection.
@@ -58,7 +58,7 @@ func (c *Client) Connect() error {
58
58
"Arguments" : "?" + url.Values {"arg" : []string {c .secretKey , c .serverID }}.Encode (),
59
59
})
60
60
if err != nil {
61
- return err
61
+ return fmt . Errorf ( "failed to send auth json: %w" , err )
62
62
}
63
63
64
64
cns , err := console .ConsoleFromFile (os .Stdin )
@@ -94,7 +94,7 @@ func (c *Client) Connect() error {
94
94
message := fmt .Sprintf (`%c{"columns":%d,"rows":%d}` , resizeTerminalCode , size .Width , size .Height )
95
95
err = conn .WriteMessage (websocket .TextMessage , []byte (message ))
96
96
if err != nil {
97
- return err
97
+ return fmt . Errorf ( "failed to write message on websocket: %w" , err )
98
98
}
99
99
100
100
// We receive a message from the server
@@ -109,7 +109,7 @@ func (c *Client) Connect() error {
109
109
case outputCode :
110
110
buf , err := base64 .StdEncoding .DecodeString (string (message [1 :]))
111
111
if err != nil {
112
- return err
112
+ return fmt . Errorf ( "failed to decode base64 output payload: %w" , err )
113
113
}
114
114
os .Stdout .Write (buf )
115
115
// The message contain a new terminal title
@@ -128,21 +128,21 @@ func (c *Client) Connect() error {
128
128
}
129
129
err = conn .WriteMessage (websocket .TextMessage , append ([]byte {inputCode }, message ... ))
130
130
if err != nil {
131
- return err
131
+ return fmt . Errorf ( "failed to write message on websocket: %w" , err )
132
132
}
133
133
134
134
// We make sure to send a ping every 30s to keep the connection alive.
135
135
case <- time .After (30 * time .Second ):
136
136
err = conn .WriteMessage (websocket .TextMessage , []byte {pingCode })
137
137
if err != nil {
138
- return err
138
+ return fmt . Errorf ( "failed to ping websocket: %w" , err )
139
139
}
140
140
141
141
// If we receive an error from one of the 2 reader we return it
142
142
case err := <- wsErrChan :
143
- return err
143
+ return fmt . Errorf ( "websocket reader error: %w" , err )
144
144
case err := <- cnsErrChan :
145
- return err
145
+ return fmt . Errorf ( "console reader error: %w" , err )
146
146
}
147
147
}
148
148
}
0 commit comments