diff options
author | Hanzei <16541325+hanzei@users.noreply.github.com> | 2018-10-18 18:04:43 +0200 |
---|---|---|
committer | George Goldberg <george@gberg.me> | 2018-10-18 17:04:43 +0100 |
commit | 0d87486e996a9a83f6494dab6e4d4c4c853cb6d6 (patch) | |
tree | 8198ea3764b03de8dc522e66e4279bee32012030 | |
parent | d77e3a4c2501ab9d0124b09f1b2d70554e686070 (diff) | |
download | chat-0d87486e996a9a83f6494dab6e4d4c4c853cb6d6.tar.gz chat-0d87486e996a9a83f6494dab6e4d4c4c853cb6d6.tar.bz2 chat-0d87486e996a9a83f6494dab6e4d4c4c853cb6d6.zip |
Migrate to idiomatic error handling in app/websocket_router.go (#9708)
-rw-r--r-- | app/websocket_router.go | 32 |
1 files changed, 15 insertions, 17 deletions
diff --git a/app/websocket_router.go b/app/websocket_router.go index da5f03602..c7c994308 100644 --- a/app/websocket_router.go +++ b/app/websocket_router.go @@ -50,24 +50,24 @@ 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) - }) + return + } - conn.SetSession(session) - conn.SetSessionToken(session.Token) - conn.UserId = session.UserId + wr.app.Go(func() { + wr.app.SetStatusOnline(session.UserId, false) + wr.app.UpdateLastActivityAtIfNeeded(*session) + }) - wr.app.HubRegister(conn) + conn.SetSession(session) + conn.SetSessionToken(session.Token) + conn.UserId = session.UserId - resp := model.NewWebSocketResponse(model.STATUS_OK, r.Seq, nil) - conn.Send <- resp - } + 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) |