add websocket destroy reason.

This commit is contained in:
Miroslav Šedivý
2021-09-02 21:52:23 +02:00
parent d7671942a6
commit c85d00e507
5 changed files with 9 additions and 29 deletions

View File

@ -162,14 +162,7 @@ func (manager *WebSocketManagerCtx) Upgrade(w http.ResponseWriter, r *http.Reque
session, err := manager.sessions.Authenticate(r)
if err != nil {
manager.logger.Warn().Err(err).Msg("authentication failed")
peer.Send(
event.SYSTEM_DISCONNECT,
message.SystemDisconnect{
Message: err.Error(),
})
peer.Destroy()
peer.Destroy(err.Error())
return
}
@ -179,14 +172,7 @@ func (manager *WebSocketManagerCtx) Upgrade(w http.ResponseWriter, r *http.Reque
if !session.Profile().CanConnect {
logger.Warn().Msg("connection disabled")
peer.Send(
event.SYSTEM_DISCONNECT,
message.SystemDisconnect{
Message: "connection disabled",
})
peer.Destroy()
peer.Destroy("connection disabled")
return
}
@ -194,13 +180,7 @@ func (manager *WebSocketManagerCtx) Upgrade(w http.ResponseWriter, r *http.Reque
logger.Warn().Msg("already connected")
if !manager.sessions.MercifulReconnect() {
peer.Send(
event.SYSTEM_DISCONNECT,
message.SystemDisconnect{
Message: "already connected",
})
peer.Destroy()
peer.Destroy("already connected")
return
}

View File

@ -66,7 +66,7 @@ func (peer *WebSocketPeerCtx) Send(event string, payload interface{}) {
Msg("sending message to client")
}
func (peer *WebSocketPeerCtx) Destroy() {
func (peer *WebSocketPeerCtx) Destroy(reason string) {
peer.mu.Lock()
defer peer.mu.Unlock()
@ -77,7 +77,7 @@ func (peer *WebSocketPeerCtx) Destroy() {
peer.Send(
event.SYSTEM_DISCONNECT,
message.SystemDisconnect{
Message: "connection destroyed",
Message: reason,
})
if err := peer.connection.Close(); err != nil {