summaryrefslogtreecommitdiff
path: root/vendor/github.com/gin-contrib
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/gin-contrib')
-rw-r--r--vendor/github.com/gin-contrib/gzip/README.md1
-rw-r--r--vendor/github.com/gin-contrib/gzip/handler.go10
-rw-r--r--vendor/github.com/gin-contrib/gzip/options.go4
3 files changed, 9 insertions, 6 deletions
diff --git a/vendor/github.com/gin-contrib/gzip/README.md b/vendor/github.com/gin-contrib/gzip/README.md
index 2f94d053d..86469858f 100644
--- a/vendor/github.com/gin-contrib/gzip/README.md
+++ b/vendor/github.com/gin-contrib/gzip/README.md
@@ -4,7 +4,6 @@
[![codecov](https://codecov.io/gh/gin-contrib/gzip/branch/master/graph/badge.svg)](https://codecov.io/gh/gin-contrib/gzip)
[![Go Report Card](https://goreportcard.com/badge/github.com/gin-contrib/gzip)](https://goreportcard.com/report/github.com/gin-contrib/gzip)
[![GoDoc](https://godoc.org/github.com/gin-contrib/gzip?status.svg)](https://godoc.org/github.com/gin-contrib/gzip)
-[![Join the chat at https://gitter.im/gin-gonic/gin](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/gin-gonic/gin)
Gin middleware to enable `GZIP` support.
diff --git a/vendor/github.com/gin-contrib/gzip/handler.go b/vendor/github.com/gin-contrib/gzip/handler.go
index 7de33eb64..ee9eb9f66 100644
--- a/vendor/github.com/gin-contrib/gzip/handler.go
+++ b/vendor/github.com/gin-contrib/gzip/handler.go
@@ -3,7 +3,7 @@ package gzip
import (
"compress/gzip"
"fmt"
- "io/ioutil"
+ "io"
"net/http"
"path/filepath"
"strings"
@@ -22,7 +22,7 @@ func newGzipHandler(level int, options ...Option) *gzipHandler {
Options: DefaultOptions,
gzPool: sync.Pool{
New: func() interface{} {
- gz, err := gzip.NewWriterLevel(ioutil.Discard, level)
+ gz, err := gzip.NewWriterLevel(io.Discard, level)
if err != nil {
panic(err)
}
@@ -47,13 +47,17 @@ func (g *gzipHandler) Handle(c *gin.Context) {
gz := g.gzPool.Get().(*gzip.Writer)
defer g.gzPool.Put(gz)
- defer gz.Reset(ioutil.Discard)
+ defer gz.Reset(io.Discard)
gz.Reset(c.Writer)
c.Header("Content-Encoding", "gzip")
c.Header("Vary", "Accept-Encoding")
c.Writer = &gzipWriter{c.Writer, gz}
defer func() {
+ if c.Writer.Size() < 0 {
+ // do not write gzip footer when nothing is written to the response body
+ gz.Reset(io.Discard)
+ }
gz.Close()
c.Header("Content-Length", fmt.Sprint(c.Writer.Size()))
}()
diff --git a/vendor/github.com/gin-contrib/gzip/options.go b/vendor/github.com/gin-contrib/gzip/options.go
index 6b3bc3f4a..c0953e08a 100644
--- a/vendor/github.com/gin-contrib/gzip/options.go
+++ b/vendor/github.com/gin-contrib/gzip/options.go
@@ -52,12 +52,12 @@ func WithDecompressFn(decompressFn func(c *gin.Context)) Option {
}
// Using map for better lookup performance
-type ExcludedExtensions map[string]bool
+type ExcludedExtensions map[string]struct{}
func NewExcludedExtensions(extensions []string) ExcludedExtensions {
res := make(ExcludedExtensions)
for _, e := range extensions {
- res[e] = true
+ res[e] = struct{}{}
}
return res
}