mirror of
https://github.com/Team254/cheesy-arena-lite.git
synced 2026-03-09 13:46:44 -04:00
Suppress logging of routine websocket disconnection error.
This commit is contained in:
@@ -7,6 +7,7 @@ package web
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/gorilla/websocket"
|
"github.com/gorilla/websocket"
|
||||||
|
"io"
|
||||||
"net/http"
|
"net/http"
|
||||||
"sync"
|
"sync"
|
||||||
)
|
)
|
||||||
@@ -33,30 +34,35 @@ func NewWebsocket(w http.ResponseWriter, r *http.Request) (*Websocket, error) {
|
|||||||
return &Websocket{conn, new(sync.Mutex)}, nil
|
return &Websocket{conn, new(sync.Mutex)}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (websocket *Websocket) Close() {
|
func (ws *Websocket) Close() {
|
||||||
websocket.conn.Close()
|
ws.conn.Close()
|
||||||
}
|
}
|
||||||
|
|
||||||
func (websocket *Websocket) Read() (string, interface{}, error) {
|
func (ws *Websocket) Read() (string, interface{}, error) {
|
||||||
var message WebsocketMessage
|
var message WebsocketMessage
|
||||||
err := websocket.conn.ReadJSON(&message)
|
err := ws.conn.ReadJSON(&message)
|
||||||
|
if websocket.IsCloseError(err, websocket.CloseNoStatusReceived) {
|
||||||
|
// This error indicates that the browser terminated the connection normally; rewwrite it so that clients don't
|
||||||
|
// log it.
|
||||||
|
return "", nil, io.EOF
|
||||||
|
}
|
||||||
return message.Type, message.Data, err
|
return message.Type, message.Data, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (websocket *Websocket) Write(messageType string, data interface{}) error {
|
func (ws *Websocket) Write(messageType string, data interface{}) error {
|
||||||
websocket.writeMutex.Lock()
|
ws.writeMutex.Lock()
|
||||||
defer websocket.writeMutex.Unlock()
|
defer ws.writeMutex.Unlock()
|
||||||
return websocket.conn.WriteJSON(WebsocketMessage{messageType, data})
|
return ws.conn.WriteJSON(WebsocketMessage{messageType, data})
|
||||||
}
|
}
|
||||||
|
|
||||||
func (websocket *Websocket) WriteError(errorMessage string) error {
|
func (ws *Websocket) WriteError(errorMessage string) error {
|
||||||
websocket.writeMutex.Lock()
|
ws.writeMutex.Lock()
|
||||||
defer websocket.writeMutex.Unlock()
|
defer ws.writeMutex.Unlock()
|
||||||
return websocket.conn.WriteJSON(WebsocketMessage{"error", errorMessage})
|
return ws.conn.WriteJSON(WebsocketMessage{"error", errorMessage})
|
||||||
}
|
}
|
||||||
|
|
||||||
func (websocket *Websocket) ShowDialog(message string) error {
|
func (ws *Websocket) ShowDialog(message string) error {
|
||||||
websocket.writeMutex.Lock()
|
ws.writeMutex.Lock()
|
||||||
defer websocket.writeMutex.Unlock()
|
defer ws.writeMutex.Unlock()
|
||||||
return websocket.conn.WriteJSON(WebsocketMessage{"dialog", message})
|
return ws.conn.WriteJSON(WebsocketMessage{"dialog", message})
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user