{"record":{"id":"3fc814932d66f842","repo":"router-for-me/CLIProxyAPI","slug":"httpwire-chunk-size-line-exceeds-d-bytes","errorCode":null,"errorMessage":"httpwire: chunk size line exceeds %d bytes","messagePattern":"httpwire: chunk size line exceeds (.+?) bytes","errorType":"http","errorClass":null,"httpStatus":null,"severity":"error","filePath":"internal/httpwire/ordered_conn.go","lineNumber":227,"sourceCode":"func newChunkedRequestTracker() *chunkedRequestTracker {\n\treturn &chunkedRequestTracker{state: chunkedReadingSize}\n}\n\nfunc (tracker *chunkedRequestTracker) clone() *chunkedRequestTracker {\n\tcloned := *tracker\n\tcloned.line = append([]byte(nil), tracker.line...)\n\tcloned.trailers = append([]byte(nil), tracker.trailers...)\n\treturn &cloned\n}\n\nfunc (tracker *chunkedRequestTracker) consume(data []byte) (consumed int, completed bool, err error) {\n\tfor consumed < len(data) {\n\t\tswitch tracker.state {\n\t\tcase chunkedReadingSize:\n\t\t\ttracker.line = append(tracker.line, data[consumed])\n\t\t\tconsumed++\n\t\t\tif len(tracker.line) > maxBufferedRequestHeader {\n\t\t\t\treturn consumed, false, fmt.Errorf(\"httpwire: chunk size line exceeds %d bytes\", maxBufferedRequestHeader)\n\t\t\t}\n\t\t\tif len(tracker.line) < 2 || !bytes.Equal(tracker.line[len(tracker.line)-2:], []byte(\"\\r\\n\")) {\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\tsizeText := strings.TrimSpace(string(tracker.line[:len(tracker.line)-2]))\n\t\t\tif extension := strings.IndexByte(sizeText, ';'); extension >= 0 {\n\t\t\t\tsizeText = strings.TrimSpace(sizeText[:extension])\n\t\t\t}\n\t\t\tsize, errParse := strconv.ParseInt(sizeText, 16, 64)\n\t\t\tif errParse != nil || size < 0 {\n\t\t\t\treturn consumed, false, fmt.Errorf(\"httpwire: invalid chunk size %q\", sizeText)\n\t\t\t}\n\t\t\ttracker.line = tracker.line[:0]\n\t\t\tif size == 0 {\n\t\t\t\ttracker.state = chunkedReadingTrailers\n\t\t\t\tcontinue\n\t\t\t}\n\t\t\ttracker.dataRemaining = size","sourceCodeStart":209,"sourceCodeEnd":245,"githubUrl":"https://github.com/router-for-me/CLIProxyAPI/blob/78f0c4079e3e6273d65d03b5549cffc898703264/internal/httpwire/ordered_conn.go#L209-L245","documentation":"Error \"httpwire: chunk size line exceeds %d bytes\" thrown in router-for-me/CLIProxyAPI.","triggerScenarios":"Thrown at internal/httpwire/ordered_conn.go:227 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","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."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"78f0c4079e3e6273d65d03b5549cffc898703264","analyzedAt":"2026-08-15T12:26:37.444Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}