go resource_error ai_generated true

http: request body too large

ID: go/http-request-body-too-large

Also available as: JSON · Markdown · 中文
80%Fix Rate
90%Confidence
0Evidence
2024-01-10First Seen

Version Compatibility

VersionStatusIntroducedDeprecatedNotes
1.19 active
1.20 active

Root Cause

The incoming HTTP request body exceeds the server's maximum allowed size, often due to missing MaxBytesReader or server configuration.

generic

中文

传入的HTTP请求体超过服务器允许的最大大小,通常是由于缺少MaxBytesReader或服务器配置所致。

Workarounds

  1. 95% success
    r.Body = http.MaxBytesReader(w, r.Body, 10<<20) // 10 MB limit
  2. 80% success
    if r.ContentLength > maxSize {
        http.Error(w, "Request body too large", http.StatusRequestEntityTooLarge)
        return
    }

Dead Ends

Common approaches that don't work:

  1. 90% fail

    ReadBufferSize is not related to body size limits and will not prevent the error.

  2. 50% fail

    Simply increasing the limit may allow denial-of-service attacks.