reverseproxy: handle buffered data during hijack (#6274)

This commit is contained in:
WeidiDeng
2024-04-26 23:09:18 +08:00
committed by GitHub
parent 4d6370bf92
commit 1b9042bcdd
2 changed files with 13 additions and 0 deletions

View File

@ -263,6 +263,8 @@ func (rr *responseRecorder) Hijack() (net.Conn, *bufio.ReadWriter, error) {
conn.(*hijackedConn).updateReadSize(buffered)
data, _ := brw.Peek(buffered)
brw.Reader.Reset(io.MultiReader(bytes.NewReader(data), conn))
// peek to make buffered data appear, as Reset will make it 0
_, _ = brw.Peek(buffered)
} else {
brw.Reader.Reset(conn)
}