From c7a8112c172a55741e1dcbf366ed637543c301ce Mon Sep 17 00:00:00 2001 From: Christopher Speller Date: Thu, 30 Jul 2015 08:24:06 -0400 Subject: Moving the handing of extra_info etag before the extra info is retrieved from the database --- api/channel.go | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) (limited to 'api/channel.go') diff --git a/api/channel.go b/api/channel.go index 9216dbb09..803274d32 100644 --- a/api/channel.go +++ b/api/channel.go @@ -554,27 +554,31 @@ func getChannelExtraInfo(c *Context, w http.ResponseWriter, r *http.Request) { id := params["id"] sc := Srv.Store.Channel().Get(id) - scm := Srv.Store.Channel().GetMember(id, c.Session.UserId) - ecm := Srv.Store.Channel().GetExtraMembers(id, 20) - + var channel *model.Channel if cresult := <-sc; cresult.Err != nil { c.Err = cresult.Err return - } else if cmresult := <-scm; cmresult.Err != nil { + } else { + channel = cresult.Data.(*model.Channel) + } + + extraEtag := channel.ExtraEtag() + if HandleEtag(extraEtag, w, r) { + return + } + + scm := Srv.Store.Channel().GetMember(id, c.Session.UserId) + ecm := Srv.Store.Channel().GetExtraMembers(id, 20) + + if cmresult := <-scm; cmresult.Err != nil { c.Err = cmresult.Err return } else if ecmresult := <-ecm; ecmresult.Err != nil { c.Err = ecmresult.Err return } else { - channel := cresult.Data.(*model.Channel) member := cmresult.Data.(model.ChannelMember) extraMembers := ecmresult.Data.([]model.ExtraMember) - extraEtag := channel.ExtraEtag() - - if HandleEtag(extraEtag, w, r) { - return - } if !c.HasPermissionsToTeam(channel.TeamId, "getChannelExtraInfo") { return -- cgit v1.2.3-1-g7c22