diff options
author | Christopher Speller <crspeller@gmail.com> | 2017-01-24 20:02:41 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-01-24 20:02:41 -0500 |
commit | 27f76afb288b7c24f5ce1d0274ed3ae73c77e076 (patch) | |
tree | 4590b87b55ba97752a6760c18be90c2bda582de2 | |
parent | 3234f98aec24c4f0f04fa6d083678afbf793b9d2 (diff) | |
download | chat-27f76afb288b7c24f5ce1d0274ed3ae73c77e076.tar.gz chat-27f76afb288b7c24f5ce1d0274ed3ae73c77e076.tar.bz2 chat-27f76afb288b7c24f5ce1d0274ed3ae73c77e076.zip |
Closing response body when fetching link previews (#5181)
-rw-r--r-- | api/api.go | 8 | ||||
-rw-r--r-- | api/post.go | 1 | ||||
-rw-r--r-- | api/webrtc.go | 8 |
3 files changed, 9 insertions, 8 deletions
diff --git a/api/api.go b/api/api.go index 59c547b8c..3d2217ef5 100644 --- a/api/api.go +++ b/api/api.go @@ -4,6 +4,7 @@ package api import ( + "io/ioutil" "net/http" "github.com/gorilla/mux" @@ -143,3 +144,10 @@ func ReturnStatusOK(w http.ResponseWriter) { m[model.STATUS] = model.STATUS_OK w.Write([]byte(model.MapToJson(m))) } + +func closeBody(r *http.Response) { + if r.Body != nil { + ioutil.ReadAll(r.Body) + r.Body.Close() + } +} diff --git a/api/post.go b/api/post.go index 9121adb92..13cfecfdf 100644 --- a/api/post.go +++ b/api/post.go @@ -668,6 +668,7 @@ func getOpenGraphMetadata(c *Context, w http.ResponseWriter, r *http.Request) { og := opengraph.NewOpenGraph() res, err := http.Get(props["url"].(string)) + defer closeBody(res) if err != nil { writeOpenGraphToResponse(w, og) return diff --git a/api/webrtc.go b/api/webrtc.go index 15b7cfa4f..7ea6b2e42 100644 --- a/api/webrtc.go +++ b/api/webrtc.go @@ -8,7 +8,6 @@ import ( "crypto/sha1" "crypto/tls" "encoding/base64" - "io/ioutil" "net/http" "strconv" "strings" @@ -108,10 +107,3 @@ func generateTurnPassword(username string, secret string) string { h.Write([]byte(username)) return base64.StdEncoding.EncodeToString(h.Sum(nil)) } - -func closeBody(r *http.Response) { - if r.Body != nil { - ioutil.ReadAll(r.Body) - r.Body.Close() - } -} |