diff --git a/app/websocket_router.go b/app/websocket_router.go index da5f036028..c7c9943089 100644 --- a/app/websocket_router.go +++ b/app/websocket_router.go @@ -50,25 +50,25 @@ func (wr *WebSocketRouter) ServeWebSocket(conn *WebConn, r *model.WebSocketReque } session, err := wr.app.GetSession(token) - if err != nil { conn.WebSocket.Close() - } else { - wr.app.Go(func() { - wr.app.SetStatusOnline(session.UserId, false) - wr.app.UpdateLastActivityAtIfNeeded(*session) - }) - - conn.SetSession(session) - conn.SetSessionToken(session.Token) - conn.UserId = session.UserId - - wr.app.HubRegister(conn) - - resp := model.NewWebSocketResponse(model.STATUS_OK, r.Seq, nil) - conn.Send <- resp + return } + wr.app.Go(func() { + wr.app.SetStatusOnline(session.UserId, false) + wr.app.UpdateLastActivityAtIfNeeded(*session) + }) + + conn.SetSession(session) + conn.SetSessionToken(session.Token) + conn.UserId = session.UserId + + wr.app.HubRegister(conn) + + resp := model.NewWebSocketResponse(model.STATUS_OK, r.Seq, nil) + conn.Send <- resp + return } @@ -78,13 +78,11 @@ func (wr *WebSocketRouter) ServeWebSocket(conn *WebConn, r *model.WebSocketReque return } - var handler webSocketHandler - if h, ok := wr.handlers[r.Action]; !ok { + handler, ok := wr.handlers[r.Action] + if !ok { err := model.NewAppError("ServeWebSocket", "api.web_socket_router.bad_action.app_error", nil, "", http.StatusInternalServerError) ReturnWebSocketError(conn, r, err) return - } else { - handler = h } handler.ServeWebSocket(conn, r)