summaryrefslogtreecommitdiffstats
path: root/api/user.go
diff options
context:
space:
mode:
authorChristopher Speller <crspeller@gmail.com>2017-01-03 09:56:30 -0500
committerenahum <nahumhbl@gmail.com>2017-01-03 11:56:30 -0300
commit4bca74d5c1e425b0975a52ee06cee69c85232ced (patch)
treeb63fa8f88399c8e228e85ac72ba8c2988784c5e3 /api/user.go
parent42e04d92c47dd7226b7e28e396f8d8d6f36e053b (diff)
downloadchat-4bca74d5c1e425b0975a52ee06cee69c85232ced.tar.gz
chat-4bca74d5c1e425b0975a52ee06cee69c85232ced.tar.bz2
chat-4bca74d5c1e425b0975a52ee06cee69c85232ced.zip
Adding Etag to user profile pictures. (#4926)
Diffstat (limited to 'api/user.go')
-rw-r--r--api/user.go7
1 files changed, 7 insertions, 0 deletions
diff --git a/api/user.go b/api/user.go
index 635d4c057..4e853f697 100644
--- a/api/user.go
+++ b/api/user.go
@@ -1272,11 +1272,17 @@ func getProfileImage(c *Context, w http.ResponseWriter, r *http.Request) {
id := params["user_id"]
readFailed := false
+ var etag string
+
if result := <-Srv.Store.User().Get(id); result.Err != nil {
c.Err = result.Err
return
} else {
var img []byte
+ etag = strconv.FormatInt(result.Data.(*model.User).LastPictureUpdate, 10)
+ if HandleEtag(etag, "Profile Image", w, r) {
+ return
+ }
if len(utils.Cfg.FileSettings.DriverName) == 0 {
var err *model.AppError
@@ -1314,6 +1320,7 @@ func getProfileImage(c *Context, w http.ResponseWriter, r *http.Request) {
}
w.Header().Set("Content-Type", "image/png")
+ w.Header().Set(model.HEADER_ETAG_SERVER, etag)
w.Write(img)
}
}