跳转到内容

请求体限制

Body Limit 中间件会设置请求体允许的最大大小。如果大小超过配置的限制,它会发送 413 Request Entity Too Large 响应。

该限制会同时针对 Content-Length 请求 header 和实际读取内容执行,因此可抵御伪造 header。 限制值以字节为单位指定。

所有核心中间件都位于 middleware 包中:

import "github.com/labstack/echo/v5/middleware"
e := echo.New()
e.Use(middleware.BodyLimit(2_097_152)) // 2 MB
e := echo.New()
e.Use(middleware.BodyLimitWithConfig(middleware.BodyLimitConfig{}))

BodyLimitConfig · github.com/labstack/echo/v5@5196b9b

字段说明由英文源码注释生成。

包源码中的字段
字段类型说明源码
Skipper Skipper Skipper defines a function to skip middleware. L17
LimitBytes int64 LimitBytes is maximum allowed size in bytes for a request body L20
包源码中的函数
类型源码
func BodyLimit(limitBytes int64) echo.MiddlewareFunc L34
func BodyLimitWithConfig(config BodyLimitConfig) echo.MiddlewareFunc L42
// Effective defaults applied when fields are left unset (Limit is required).
BodyLimitConfig{
Skipper: DefaultSkipper,
}