Skip to content

Commit 8408091

Browse files
authored
chore(gotty): add error wrapping (#3511)
1 parent dae1d86 commit 8408091

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

internal/gotty/client.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ func (c *Client) Connect() error {
4444
wsDialer := websocket.Dialer{}
4545
conn, _, err := wsDialer.Dial(c.wsURL, nil)
4646
if err != nil {
47-
return err
47+
return fmt.Errorf("failed to dial websocket: %w", err)
4848
}
4949
defer func() {
5050
// Websocket protocol require the server to close the connection.
@@ -58,7 +58,7 @@ func (c *Client) Connect() error {
5858
"Arguments": "?" + url.Values{"arg": []string{c.secretKey, c.serverID}}.Encode(),
5959
})
6060
if err != nil {
61-
return err
61+
return fmt.Errorf("failed to send auth json: %w", err)
6262
}
6363

6464
cns, err := console.ConsoleFromFile(os.Stdin)
@@ -94,7 +94,7 @@ func (c *Client) Connect() error {
9494
message := fmt.Sprintf(`%c{"columns":%d,"rows":%d}`, resizeTerminalCode, size.Width, size.Height)
9595
err = conn.WriteMessage(websocket.TextMessage, []byte(message))
9696
if err != nil {
97-
return err
97+
return fmt.Errorf("failed to write message on websocket: %w", err)
9898
}
9999

100100
// We receive a message from the server
@@ -109,7 +109,7 @@ func (c *Client) Connect() error {
109109
case outputCode:
110110
buf, err := base64.StdEncoding.DecodeString(string(message[1:]))
111111
if err != nil {
112-
return err
112+
return fmt.Errorf("failed to decode base64 output payload: %w", err)
113113
}
114114
os.Stdout.Write(buf)
115115
// The message contain a new terminal title
@@ -128,21 +128,21 @@ func (c *Client) Connect() error {
128128
}
129129
err = conn.WriteMessage(websocket.TextMessage, append([]byte{inputCode}, message...))
130130
if err != nil {
131-
return err
131+
return fmt.Errorf("failed to write message on websocket: %w", err)
132132
}
133133

134134
// We make sure to send a ping every 30s to keep the connection alive.
135135
case <-time.After(30 * time.Second):
136136
err = conn.WriteMessage(websocket.TextMessage, []byte{pingCode})
137137
if err != nil {
138-
return err
138+
return fmt.Errorf("failed to ping websocket: %w", err)
139139
}
140140

141141
// If we receive an error from one of the 2 reader we return it
142142
case err := <-wsErrChan:
143-
return err
143+
return fmt.Errorf("websocket reader error: %w", err)
144144
case err := <-cnsErrChan:
145-
return err
145+
return fmt.Errorf("console reader error: %w", err)
146146
}
147147
}
148148
}

0 commit comments

Comments
 (0)