|
8 | 8 | "bufio"
|
9 | 9 | "errors"
|
10 | 10 | "io"
|
11 |
| - "log" |
12 | 11 | "net/http"
|
13 | 12 | "net/url"
|
14 | 13 | "strings"
|
@@ -180,10 +179,10 @@ func (u *Upgrader) Upgrade(w http.ResponseWriter, r *http.Request, responseHeade
|
180 | 179 | }
|
181 | 180 |
|
182 | 181 | if brw.Reader.Buffered() > 0 {
|
183 |
| - if err := netConn.Close(); err != nil { |
184 |
| - log.Printf("websocket: failed to close network connection: %v", err) |
185 |
| - } |
186 |
| - return nil, errors.New("websocket: client sent data before handshake is complete") |
| 182 | + return nil, errors.Join( |
| 183 | + errors.New("websocket: client sent data before handshake is complete"), |
| 184 | + netConn.Close(), |
| 185 | + ) |
187 | 186 | }
|
188 | 187 |
|
189 | 188 | var br *bufio.Reader
|
@@ -248,32 +247,20 @@ func (u *Upgrader) Upgrade(w http.ResponseWriter, r *http.Request, responseHeade
|
248 | 247 |
|
249 | 248 | // Clear deadlines set by HTTP server.
|
250 | 249 | if err := netConn.SetDeadline(time.Time{}); err != nil {
|
251 |
| - if err := netConn.Close(); err != nil { |
252 |
| - log.Printf("websocket: failed to close network connection: %v", err) |
253 |
| - } |
254 |
| - return nil, err |
| 250 | + return nil, errors.Join(err, netConn.Close()) |
255 | 251 | }
|
256 | 252 |
|
257 | 253 | if u.HandshakeTimeout > 0 {
|
258 | 254 | if err := netConn.SetWriteDeadline(time.Now().Add(u.HandshakeTimeout)); err != nil {
|
259 |
| - if err := netConn.Close(); err != nil { |
260 |
| - log.Printf("websocket: failed to close network connection: %v", err) |
261 |
| - } |
262 |
| - return nil, err |
| 255 | + return nil, errors.Join(err, netConn.Close()) |
263 | 256 | }
|
264 | 257 | }
|
265 | 258 | if _, err = netConn.Write(p); err != nil {
|
266 |
| - if err := netConn.Close(); err != nil { |
267 |
| - log.Printf("websocket: failed to close network connection: %v", err) |
268 |
| - } |
269 |
| - return nil, err |
| 259 | + return nil, errors.Join(err, netConn.Close()) |
270 | 260 | }
|
271 | 261 | if u.HandshakeTimeout > 0 {
|
272 | 262 | if err := netConn.SetWriteDeadline(time.Time{}); err != nil {
|
273 |
| - if err := netConn.Close(); err != nil { |
274 |
| - log.Printf("websocket: failed to close network connection: %v", err) |
275 |
| - } |
276 |
| - return nil, err |
| 263 | + return nil, errors.Join(err, netConn.Close()) |
277 | 264 | }
|
278 | 265 | }
|
279 | 266 |
|
@@ -376,7 +363,7 @@ func bufioWriterBuffer(originalWriter io.Writer, bw *bufio.Writer) []byte {
|
376 | 363 | panic(err)
|
377 | 364 | }
|
378 | 365 | if err := bw.Flush(); err != nil {
|
379 |
| - log.Printf("websocket: bufioWriterBuffer: Flush: %v", err) |
| 366 | + panic(err) |
380 | 367 | }
|
381 | 368 |
|
382 | 369 | bw.Reset(originalWriter)
|
|
0 commit comments