Changeset 594 in code for trunk


Ignore:
Timestamp:
Sep 21, 2021, 9:49:48 AM (4 years ago)
Author:
contact
Message:

Workaround lack of net.ErrClosed in WebSocket library

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/conn.go

    r519 r594  
    7575}
    7676
     77func isErrWebSocketClosed(err error) bool {
     78        return err != nil && strings.HasSuffix(err.Error(), "failed to close WebSocket: already wrote close")
     79}
     80
    7781func (wic *websocketIRCConn) Close() error {
    78         return wic.conn.Close(websocket.StatusNormalClosure, "")
     82        err := wic.conn.Close(websocket.StatusNormalClosure, "")
     83        // TODO: remove once this PR is merged:
     84        // https://github.com/nhooyr/websocket/pull/303
     85        if isErrWebSocketClosed(err) {
     86                return nil
     87        }
     88        return err
    7989}
    8090
Note: See TracChangeset for help on using the changeset viewer.