treat EOF and ErrClosedPipe in websocket connections as uninteresting

both occur in various states of disconnectedness
This commit is contained in:
Matthias Radestock
2016-08-05 23:32:34 +01:00
parent 4d746a6cf4
commit 6d9194cfaf
2 changed files with 2 additions and 4 deletions

View File

@@ -1,7 +1,6 @@
package app
import (
"io"
"net/http"
"net/rpc"
@@ -84,7 +83,7 @@ func handleProbeWS(cr ControlRouter) CtxHandlerFunc {
return
}
defer cr.Deregister(ctx, probeID, id)
if err := codec.WaitForReadError(); err != nil && err != io.EOF && !xfer.IsExpectedWSCloseError(err) {
if err := codec.WaitForReadError(); err != nil && !xfer.IsExpectedWSCloseError(err) {
log.Errorf("Error on websocket: %v", err)
}
}

View File

@@ -167,8 +167,7 @@ func (p *pingingWebsocket) Close() error {
// IsExpectedWSCloseError returns boolean indicating whether the error is a
// clean disconnection.
func IsExpectedWSCloseError(err error) bool {
return websocket.IsCloseError(
err,
return err == io.EOF || err == io.ErrClosedPipe || websocket.IsCloseError(err,
websocket.CloseNormalClosure,
websocket.CloseGoingAway,
websocket.CloseNoStatusReceived,