go resource_error ai_generated true

error: http: response body too large

ID: go/http-response-body-leak

Also available as: JSON · Markdown · 中文
80%Fix Rate
86%Confidence
0Evidence
2024-11-18First Seen

Version Compatibility

VersionStatusIntroducedDeprecatedNotes
1.21 active

Root Cause

HTTP 响应体超过预设的最大限制,导致读取失败。

generic

中文

HTTP 响应体超过预设的最大限制,导致读取失败。

Workarounds

  1. 90% success
    body, err := io.ReadAll(io.LimitReader(resp.Body, 1<<20))
  2. 85% success
    if resp.ContentLength > 1<<20 { log.Println("响应过大") }

Dead Ends

Common approaches that don't work:

  1. 90% fail

    会导致数据不完整或程序崩溃。

  2. 70% fail

    如果恶意响应过大,会消耗大量内存。