package middleware import ( "net/http" "mengstack/internal/kernel/errors" "mengstack/internal/kernel/response" "github.com/gin-gonic/gin" ) // BodyLimit restricts the maximum request body size. func BodyLimit(maxBytes int64) gin.HandlerFunc { return func(c *gin.Context) { if c.Request.ContentLength > maxBytes { response.Fail(c, errors.New("BODY_TOO_LARGE", "request body too large", http.StatusRequestEntityTooLarge)) c.Abort() return } c.Request.Body = http.MaxBytesReader(c.Writer, c.Request.Body, maxBytes) c.Next() } }