Files
seaweedfs/weed/s3api/request_body.go
T
Chris Lu 93d4a6aefd s3: drain request body before error response (#11334)
* s3: drain request body before error response

* s3: keep oversized request bodies drainable
2026-09-15 13:09:07 -07:00

24 lines
419 B
Go

package s3api
import (
"errors"
"io"
"net/http"
)
var errRequestBodyTooLarge = errors.New("request body too large")
func readRequestBody(r *http.Request, limit int64) ([]byte, error) {
if r.Body == nil {
return nil, nil
}
body, err := io.ReadAll(io.LimitReader(r.Body, limit+1))
if err != nil {
return nil, err
}
if int64(len(body)) > limit {
return nil, errRequestBodyTooLarge
}
return body, nil
}