mirror of
https://github.com/m1k1o/neko.git
synced 2024-07-24 14:40:50 +12:00
add websocket destroy reason.
This commit is contained in:
@ -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
|
||||
}
|
||||
|
||||
|
@ -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 {
|
||||
|
Reference in New Issue
Block a user