Browse Source

fix large memory usage: gzip hold gin.writer unnecessary; (#21)

Change-Id: I8775a40a3cf1d49f756f39a4038384ad041b6f65
dengos 6 years ago
parent
commit
b894a7db45
1 changed files with 2 additions and 1 deletions
  1. 2 1
      gzip.go

+ 2 - 1
gzip.go

@@ -35,6 +35,7 @@ func Gzip(level int) gin.HandlerFunc {
 
 		gz := gzPool.Get().(*gzip.Writer)
 		defer gzPool.Put(gz)
+		defer gz.Reset(ioutil.Discard)
 		gz.Reset(c.Writer)
 
 		c.Header("Content-Encoding", "gzip")
@@ -70,7 +71,7 @@ func (g *gzipWriter) WriteHeader(code int) {
 func shouldCompress(req *http.Request) bool {
 	if !strings.Contains(req.Header.Get("Accept-Encoding"), "gzip") ||
 		strings.Contains(req.Header.Get("Connection"), "Upgrade") ||
-	        strings.Contains(req.Header.Get("Content-Type"), "text/event-stream") {
+		strings.Contains(req.Header.Get("Content-Type"), "text/event-stream") {
 
 		return false
 	}