router-for-me/CLIProxyAPI · error
httpwire: chunk size line exceeds %d bytes
Error message
httpwire: chunk size line exceeds %d bytes
What it means
Error "httpwire: chunk size line exceeds %d bytes" thrown in router-for-me/CLIProxyAPI.
Source
Thrown at internal/httpwire/ordered_conn.go:227
func newChunkedRequestTracker() *chunkedRequestTracker {
return &chunkedRequestTracker{state: chunkedReadingSize}
}
func (tracker *chunkedRequestTracker) clone() *chunkedRequestTracker {
cloned := *tracker
cloned.line = append([]byte(nil), tracker.line...)
cloned.trailers = append([]byte(nil), tracker.trailers...)
return &cloned
}
func (tracker *chunkedRequestTracker) consume(data []byte) (consumed int, completed bool, err error) {
for consumed < len(data) {
switch tracker.state {
case chunkedReadingSize:
tracker.line = append(tracker.line, data[consumed])
consumed++
if len(tracker.line) > maxBufferedRequestHeader {
return consumed, false, fmt.Errorf("httpwire: chunk size line exceeds %d bytes", maxBufferedRequestHeader)
}
if len(tracker.line) < 2 || !bytes.Equal(tracker.line[len(tracker.line)-2:], []byte("\r\n")) {
continue
}
sizeText := strings.TrimSpace(string(tracker.line[:len(tracker.line)-2]))
if extension := strings.IndexByte(sizeText, ';'); extension >= 0 {
sizeText = strings.TrimSpace(sizeText[:extension])
}
size, errParse := strconv.ParseInt(sizeText, 16, 64)
if errParse != nil || size < 0 {
return consumed, false, fmt.Errorf("httpwire: invalid chunk size %q", sizeText)
}
tracker.line = tracker.line[:0]
if size == 0 {
tracker.state = chunkedReadingTrailers
continue
}
tracker.dataRemaining = sizeView on GitHub (pinned to 78f0c4079e)
Solutions
- Verify the peer sends valid chunked encoding with a bounded chunk size line.
- Treat as a protocol violation and close the connection if it persists.
When it happens
Trigger: Thrown at internal/httpwire/ordered_conn.go:227 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/3fc814932d66f842.
Report an issue: GitHub.