From 296607f6ee91491ba0ad6af70e36b0b187154419 Mon Sep 17 00:00:00 2001 From: Roman Chernobelskiy <1326903+rchernobelskiy@users.noreply.github.com> Date: Sun, 17 May 2026 00:55:09 +0300 Subject: [PATCH] Fix flate reader reset --- wsflate/reader.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/wsflate/reader.go b/wsflate/reader.go index 8f0f660..112d54d 100644 --- a/wsflate/reader.go +++ b/wsflate/reader.go @@ -11,7 +11,7 @@ type Decompressor interface { // ReadResetter is an optional interface that Decompressor can implement. type ReadResetter interface { - Reset(io.Reader) + Reset(io.Reader, []byte) error } // Reader implements decompression from an io.Reader object using Decompressor. @@ -50,9 +50,10 @@ func (r *Reader) Reset(src io.Reader) { r.err = nil r.src = src r.sr.reset(src) - if x, ok := r.d.(ReadResetter); ok { - x.Reset(r.sr.iface()) + if err := x.Reset(r.sr.iface(), nil); err != nil { + r.err = err + } } else { r.d = r.ctor(r.sr.iface()) }