Decompress
O middleware Decompress descomprime o body do request HTTP quando o header Content-Encoding
está definido como gzip.
Todo o middleware principal fica no pacote middleware:
import "github.com/labstack/echo/v5/middleware"e.Use(middleware.Decompress())Configuração customizada
Seção intitulada “Configuração customizada”e := echo.New()e.Use(middleware.DecompressWithConfig(middleware.DecompressConfig{ Skipper: middleware.DefaultSkipper,}))Configuração
Seção intitulada “Configuração”type DecompressConfig struct { // Skipper defines a function to skip middleware. Skipper Skipper
// GzipDecompressPool provides the sync.Pool used to create and store gzip readers. GzipDecompressPool Decompressor
// MaxDecompressedSize limits the maximum size of the decompressed request body in // bytes. If the decompressed body exceeds this limit, the middleware returns an // HTTP 413 error. This prevents zip-bomb attacks where a small compressed payload // decompresses to a huge size. // Default: 100 * MB (104,857,600 bytes). Set to -1 to disable limits (not recommended). MaxDecompressedSize int64}Configuração padrão
Seção intitulada “Configuração padrão”// Effective defaults applied when fields are left unset.DecompressConfig{ Skipper: DefaultSkipper, GzipDecompressPool: &DefaultGzipDecompressPool{}, MaxDecompressedSize: 100 * MB,}