{"record":{"id":"b3e2036414d25e42","repo":"router-for-me/CLIProxyAPI","slug":"httpwire-invalid-chunk-size-q","errorCode":null,"errorMessage":"httpwire: invalid chunk size %q","messagePattern":"httpwire: invalid chunk size %q","errorType":"http","errorClass":null,"httpStatus":null,"severity":"error","filePath":"internal/httpwire/ordered_conn.go","lineNumber":238,"sourceCode":"func (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\n\t\t\ttracker.state = chunkedReadingData\n\t\tcase chunkedReadingData:\n\t\t\tchunkBytes := min(int64(len(data)-consumed), tracker.dataRemaining)\n\t\t\tconsumed += int(chunkBytes)\n\t\t\ttracker.dataRemaining -= chunkBytes\n\t\t\tif tracker.dataRemaining == 0 {\n\t\t\t\ttracker.crlfPosition = 0\n\t\t\t\ttracker.state = chunkedReadingDataCRLF\n\t\t\t}\n\t\tcase chunkedReadingDataCRLF:\n\t\t\twant := []byte(\"\\r\\n\")","sourceCodeStart":220,"sourceCodeEnd":256,"githubUrl":"https://github.com/router-for-me/CLIProxyAPI/blob/78f0c4079e3e6273d65d03b5549cffc898703264/internal/httpwire/ordered_conn.go#L220-L256","documentation":"Error \"httpwire: invalid chunk size %q\" thrown in router-for-me/CLIProxyAPI.","triggerScenarios":"Thrown at internal/httpwire/ordered_conn.go:238 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify the chunk size line is a valid hexadecimal number.","Reject peers sending malformed chunked encoding."],"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"}