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”DecompressConfig · github.com/labstack/echo/v5@5196b9b
As descrições dos campos são geradas dos comentários do código-fonte em inglês.
| Campo | Tipo | Descrição | Código |
|---|---|---|---|
Skipper | Skipper | Skipper defines a function to skip middleware. | L19 |
GzipDecompressPool | Decompressor | GzipDecompressPool defines an interface to provide the sync.Pool used to create/store Gzip readers | L22 |
MaxDecompressedSize | int64 | MaxDecompressedSize limits the maximum size of decompressed request body in bytes. If the decompressed body exceeds this limit, the middleware returns HTTP 413 error. This prevents zip bomb attacks where small compressed payloads decompress to huge sizes. Default: 100 * MB (104,857,600 bytes) Set to -1 to disable limits (not recommended in production). | L29 |
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,}