summaryrefslogtreecommitdiff
path: root/vendor/github.com/gin-contrib/gzip/options.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/gin-contrib/gzip/options.go')
-rw-r--r--vendor/github.com/gin-contrib/gzip/options.go116
1 files changed, 0 insertions, 116 deletions
diff --git a/vendor/github.com/gin-contrib/gzip/options.go b/vendor/github.com/gin-contrib/gzip/options.go
deleted file mode 100644
index 6b3bc3f4a..000000000
--- a/vendor/github.com/gin-contrib/gzip/options.go
+++ /dev/null
@@ -1,116 +0,0 @@
-package gzip
-
-import (
- "compress/gzip"
- "net/http"
- "regexp"
- "strings"
-
- "github.com/gin-gonic/gin"
-)
-
-var (
- DefaultExcludedExtentions = NewExcludedExtensions([]string{
- ".png", ".gif", ".jpeg", ".jpg",
- })
- DefaultOptions = &Options{
- ExcludedExtensions: DefaultExcludedExtentions,
- }
-)
-
-type Options struct {
- ExcludedExtensions ExcludedExtensions
- ExcludedPaths ExcludedPaths
- ExcludedPathesRegexs ExcludedPathesRegexs
- DecompressFn func(c *gin.Context)
-}
-
-type Option func(*Options)
-
-func WithExcludedExtensions(args []string) Option {
- return func(o *Options) {
- o.ExcludedExtensions = NewExcludedExtensions(args)
- }
-}
-
-func WithExcludedPaths(args []string) Option {
- return func(o *Options) {
- o.ExcludedPaths = NewExcludedPaths(args)
- }
-}
-
-func WithExcludedPathsRegexs(args []string) Option {
- return func(o *Options) {
- o.ExcludedPathesRegexs = NewExcludedPathesRegexs(args)
- }
-}
-
-func WithDecompressFn(decompressFn func(c *gin.Context)) Option {
- return func(o *Options) {
- o.DecompressFn = decompressFn
- }
-}
-
-// Using map for better lookup performance
-type ExcludedExtensions map[string]bool
-
-func NewExcludedExtensions(extensions []string) ExcludedExtensions {
- res := make(ExcludedExtensions)
- for _, e := range extensions {
- res[e] = true
- }
- return res
-}
-
-func (e ExcludedExtensions) Contains(target string) bool {
- _, ok := e[target]
- return ok
-}
-
-type ExcludedPaths []string
-
-func NewExcludedPaths(paths []string) ExcludedPaths {
- return ExcludedPaths(paths)
-}
-
-func (e ExcludedPaths) Contains(requestURI string) bool {
- for _, path := range e {
- if strings.HasPrefix(requestURI, path) {
- return true
- }
- }
- return false
-}
-
-type ExcludedPathesRegexs []*regexp.Regexp
-
-func NewExcludedPathesRegexs(regexs []string) ExcludedPathesRegexs {
- result := make([]*regexp.Regexp, len(regexs))
- for i, reg := range regexs {
- result[i] = regexp.MustCompile(reg)
- }
- return result
-}
-
-func (e ExcludedPathesRegexs) Contains(requestURI string) bool {
- for _, reg := range e {
- if reg.MatchString(requestURI) {
- return true
- }
- }
- return false
-}
-
-func DefaultDecompressHandle(c *gin.Context) {
- if c.Request.Body == nil {
- return
- }
- r, err := gzip.NewReader(c.Request.Body)
- if err != nil {
- _ = c.AbortWithError(http.StatusBadRequest, err)
- return
- }
- c.Request.Header.Del("Content-Encoding")
- c.Request.Header.Del("Content-Length")
- c.Request.Body = r
-}