From c0accf942a0e8e28e1192836c03b147d569f9ec9 Mon Sep 17 00:00:00 2001 From: Skyxim Date: Wed, 28 Oct 2026 14:14:54 +0800 Subject: [PATCH] fix(bufio): drain cached data before reading upstream --- common/bufio/chunk.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/common/bufio/chunk.go b/common/bufio/chunk.go index 048a372b..870c54b1 100644 --- a/common/bufio/chunk.go +++ b/common/bufio/chunk.go @@ -22,6 +22,10 @@ func NewChunkReader(upstream io.Reader, maxChunkSize int) *ChunkReader { } func (c *ChunkReader) ReadBuffer(buffer *buf.Buffer) error { + if c.cache != nil && !c.cache.IsEmpty() { + return common.Error(buffer.ReadFrom(c.cache)) + } + if buffer.FreeLen() >= c.maxChunkSize { return c.upstream.ReadBuffer(buffer) }