mirror of
https://github.com/weaveworks/scope.git
synced 2026-07-28 01:31:17 +00:00
Don't log "expected" websocket errors, like the socket being closed
This commit is contained in:
@@ -90,7 +90,9 @@ func handleWebsocket(
|
||||
go func(c *websocket.Conn) {
|
||||
for { // just discard everything the browser sends
|
||||
if _, _, err := c.NextReader(); err != nil {
|
||||
log.Println("err:", err)
|
||||
if !xfer.IsExpectedWSCloseError(err) {
|
||||
log.Println("err:", err)
|
||||
}
|
||||
close(quit)
|
||||
break
|
||||
}
|
||||
@@ -111,7 +113,9 @@ func handleWebsocket(
|
||||
previousTopo = newTopo
|
||||
|
||||
if err := conn.SetWriteDeadline(time.Now().Add(websocketTimeout)); err != nil {
|
||||
log.Println("err:", err)
|
||||
if !xfer.IsExpectedWSCloseError(err) {
|
||||
log.Println("err:", err)
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@@ -7,6 +7,17 @@ import (
|
||||
"github.com/ugorji/go/codec"
|
||||
)
|
||||
|
||||
// IsExpectedWSCloseError returns boolean indicating whether the error is a
|
||||
// clean disconnection.
|
||||
func IsExpectedWSCloseError(err error) bool {
|
||||
return websocket.IsCloseError(
|
||||
err,
|
||||
websocket.CloseNormalClosure,
|
||||
websocket.CloseGoingAway,
|
||||
websocket.CloseNoStatusReceived,
|
||||
)
|
||||
}
|
||||
|
||||
// WriteJSONtoWS writes the JSON encoding of v to the connection.
|
||||
func WriteJSONtoWS(c *websocket.Conn, v interface{}) error {
|
||||
w, err := c.NextWriter(websocket.TextMessage)
|
||||
|
||||
Reference in New Issue
Block a user