router-for-me/CLIProxyAPI · error
httpwire: chunk trailers exceed %d bytes
Error message
httpwire: chunk trailers exceed %d bytes
What it means
Error "httpwire: chunk trailers exceed %d bytes" thrown in router-for-me/CLIProxyAPI.
Source
Thrown at internal/httpwire/ordered_conn.go:269
if tracker.dataRemaining == 0 {
tracker.crlfPosition = 0
tracker.state = chunkedReadingDataCRLF
}
case chunkedReadingDataCRLF:
want := []byte("\r\n")
if data[consumed] != want[tracker.crlfPosition] {
return consumed, false, fmt.Errorf("httpwire: chunk data is missing CRLF terminator")
}
consumed++
tracker.crlfPosition++
if tracker.crlfPosition == len(want) {
tracker.state = chunkedReadingSize
}
case chunkedReadingTrailers:
tracker.trailers = append(tracker.trailers, data[consumed])
consumed++
if len(tracker.trailers) > maxBufferedRequestHeader {
return consumed, false, fmt.Errorf("httpwire: chunk trailers exceed %d bytes", maxBufferedRequestHeader)
}
if bytes.Equal(tracker.trailers, []byte("\r\n")) ||
(len(tracker.trailers) >= 4 && bytes.Equal(tracker.trailers[len(tracker.trailers)-4:], []byte("\r\n\r\n"))) {
return consumed, true, nil
}
default:
return consumed, false, fmt.Errorf("httpwire: invalid chunk parser state %d", tracker.state)
}
}
return consumed, false, nil
}
func writeAll(writer io.Writer, data []byte) (int, error) {
total := 0
for len(data) > 0 {
written, errWrite := writer.Write(data)
total += written
if errWrite != nil {View on GitHub (pinned to 78f0c4079e)
Solutions
- Limit or reject chunk trailers beyond the stated byte limit.
- Verify the peer's trailer section is well-formed.
When it happens
Trigger: Thrown at internal/httpwire/ordered_conn.go:269 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of router-for-me/CLIProxyAPI@78f0c4079e (2026-08-15).
Data as JSON: /api/errors/7b3228d61a2d763d.
Report an issue: GitHub.