ボディダンプ
Body Dump ミドルウェアは、リクエストとレスポンスのペイロードをキャプチャして登録済みハンドラへ渡します。 一般的にはデバッグやログ記録に使います。
すべてのコアミドルウェアは middleware パッケージに含まれています:
import "github.com/labstack/echo/v5/middleware"e := echo.New()e.Use(middleware.BodyDump(func(c *echo.Context, reqBody, resBody []byte, err error) { // Handle the request and response bodies.}))カスタム設定
Section titled “カスタム設定”e := echo.New()e.Use(middleware.BodyDumpWithConfig(middleware.BodyDumpConfig{}))BodyDumpConfig · github.com/labstack/echo/v5@5196b9b
フィールドの説明は英語のソースコードのコメントから生成されています。
| フィールド | 型 | 説明 | ソース |
|---|---|---|---|
Skipper | Skipper | Skipper defines a function to skip middleware. | L21 |
Handler | BodyDumpHandler | Handler receives request, response payloads and handler error if there are any. Required. | L25 |
MaxRequestBytes | int64 | MaxRequestBytes limits how much of the request body to dump. If the request body exceeds this limit, only the first MaxRequestBytes are dumped. The handler callback receives truncated data. Default: 5 * MB (5,242,880 bytes) Set to -1 to disable limits (not recommended in production). | L32 |
MaxResponseBytes | int64 | MaxResponseBytes limits how much of the response body to dump. If the response body exceeds this limit, only the first MaxResponseBytes are dumped. The handler callback receives truncated data. Default: 5 * MB (5,242,880 bytes) Set to -1 to disable limits (not recommended in production). | L39 |
Handler のシグネチャは次のとおりです。
type BodyDumpHandler func(c *echo.Context, reqBody []byte, resBody []byte, err error)デフォルト設定
Section titled “デフォルト設定”// Effective defaults applied when fields are left unset (Handler is required).BodyDumpConfig{ Skipper: DefaultSkipper, MaxRequestBytes: 5 * MB, MaxResponseBytes: 5 * MB,}