解凍
Decompress ミドルウェアは、Content-Encoding header が gzip に設定されている場合に
HTTP リクエストボディを解凍します。
すべてのコアミドルウェアは middleware パッケージに含まれています:
import "github.com/labstack/echo/v5/middleware"e.Use(middleware.Decompress())カスタム設定
Section titled “カスタム設定”e := echo.New()e.Use(middleware.DecompressWithConfig(middleware.DecompressConfig{ Skipper: middleware.DefaultSkipper,}))DecompressConfig · github.com/labstack/echo/v5@5196b9b
フィールドの説明は英語のソースコードのコメントから生成されています。
| フィールド | 型 | 説明 | ソース |
|---|---|---|---|
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 |
デフォルト設定
Section titled “デフォルト設定”// Effective defaults applied when fields are left unset.DecompressConfig{ Skipper: DefaultSkipper, GzipDecompressPool: &DefaultGzipDecompressPool{}, MaxDecompressedSize: 100 * MB,}