diff options
author | JoramWilander <jwawilander@gmail.com> | 2015-10-15 10:44:04 -0400 |
---|---|---|
committer | JoramWilander <jwawilander@gmail.com> | 2015-10-16 11:48:55 -0400 |
commit | 2b5ec4a3c076bb1f18eeafbd96b0a80c6b8bfbaa (patch) | |
tree | e08561de76eb4939636d00317f8f5120b0db77e2 /api/web_conn.go | |
parent | 3c593af598b2bb986244099ed1b9a46ed3837911 (diff) | |
download | chat-2b5ec4a3c076bb1f18eeafbd96b0a80c6b8bfbaa.tar.gz chat-2b5ec4a3c076bb1f18eeafbd96b0a80c6b8bfbaa.tar.bz2 chat-2b5ec4a3c076bb1f18eeafbd96b0a80c6b8bfbaa.zip |
Small refactor of websocket code on client and server
Diffstat (limited to 'api/web_conn.go')
-rw-r--r-- | api/web_conn.go | 25 |
1 files changed, 6 insertions, 19 deletions
diff --git a/api/web_conn.go b/api/web_conn.go index a5099e520..50a003ace 100644 --- a/api/web_conn.go +++ b/api/web_conn.go @@ -92,24 +92,9 @@ func (c *WebConn) writePump() { return } - if len(msg.ChannelId) > 0 { - allowed, ok := c.ChannelAccessCache[msg.ChannelId] - if !ok { - allowed = hasPermissionsToChannel(Srv.Store.Channel().CheckPermissionsTo(c.TeamId, msg.ChannelId, c.UserId)) - c.ChannelAccessCache[msg.ChannelId] = allowed - } - - if allowed { - c.WebSocket.SetWriteDeadline(time.Now().Add(WRITE_WAIT)) - if err := c.WebSocket.WriteJSON(msg); err != nil { - return - } - } - } else { - c.WebSocket.SetWriteDeadline(time.Now().Add(WRITE_WAIT)) - if err := c.WebSocket.WriteJSON(msg); err != nil { - return - } + c.WebSocket.SetWriteDeadline(time.Now().Add(WRITE_WAIT)) + if err := c.WebSocket.WriteJSON(msg); err != nil { + return } case <-ticker.C: @@ -121,9 +106,11 @@ func (c *WebConn) writePump() { } } -func (c *WebConn) updateChannelAccessCache(channelId string) { +func (c *WebConn) updateChannelAccessCache(channelId string) bool { allowed := hasPermissionsToChannel(Srv.Store.Channel().CheckPermissionsTo(c.TeamId, channelId, c.UserId)) c.ChannelAccessCache[channelId] = allowed + + return allowed } func hasPermissionsToChannel(sc store.StoreChannel) bool { |