[APIV4] GET /emoji/{emoji_id}/image for apiV4 (#6141)

* implement GET /emoji/{emoji_id}/image for apiV4

* update per request
Этот коммит содержится в:
Carlos Tadeu Panato Junior
2017-04-20 17:14:15 +02:00
коммит произвёл Joram Wilander
родитель 55bbf15fc7
Коммит f758f9ff3a
5 изменённых файлов: 190 добавлений и 24 удалений

Просмотреть файл

@@ -4,7 +4,6 @@
package api
import (
"bytes"
"image"
"image/draw"
"image/gif"
@@ -190,28 +189,15 @@ func getEmojiImage(c *Context, w http.ResponseWriter, r *http.Request) {
return
}
if result := <-app.Srv.Store.Emoji().Get(id, true); result.Err != nil {
c.Err = result.Err
image, imageType, err := app.GetEmojiImage(id)
if err != nil {
c.Err = err
return
} else {
var img []byte
if data, err := app.ReadFile(getEmojiImagePath(id)); err != nil {
c.Err = model.NewLocAppError("getEmojiImage", "api.emoji.get_image.read.app_error", nil, err.Error())
return
} else {
img = data
}
if _, imageType, err := image.DecodeConfig(bytes.NewReader(img)); err != nil {
model.NewLocAppError("getEmojiImage", "api.emoji.get_image.decode.app_error", nil, err.Error())
} else {
w.Header().Set("Content-Type", "image/"+imageType)
}
w.Header().Set("Cache-Control", "max-age=2592000, public")
w.Write(img)
}
w.Header().Set("Content-Type", "image/"+imageType)
w.Header().Set("Cache-Control", "max-age=2592000, public")
w.Write(image)
}
func getEmojiImagePath(id string) string {