Skip to content

Commit 03f7b60

Browse files
committed
Close underlying WriteCloser
1 parent 51a4066 commit 03f7b60

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

server/util/compression/compression.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ func NewZstdCompressingReader(reader io.ReadCloser, readBuf []byte, compressBuf
183183
}
184184

185185
type compressingWriter struct {
186-
w io.Writer
186+
w io.WriteCloser
187187
compressBuf []byte
188188
poolCompressBuf []byte
189189
}
@@ -211,13 +211,13 @@ func (c *compressingWriter) Write(p []byte) (int, error) {
211211

212212
func (c *compressingWriter) Close() error {
213213
compressBufPool.Put(c.poolCompressBuf)
214-
return nil
214+
return c.w.Close()
215215
}
216216

217217
// NewZstdCompressingWriter returns a writer that compresses each chunk of the
218218
// input using zstd and writes the compressed data to the underlying writer.
219219
// The writer uses a fixed-size 4MB buffer for compression.
220-
func NewZstdCompressingWriter(w io.Writer) io.WriteCloser {
220+
func NewZstdCompressingWriter(w io.WriteCloser) io.WriteCloser {
221221
compressBuf := compressBufPool.Get()
222222
return &compressingWriter{
223223
w: w,

server/util/compression/compression_test.go

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,9 +108,17 @@ func compressWithNewZstdCompressingReader(t *testing.T, src []byte) []byte {
108108
return compressed
109109
}
110110

111+
type nopWriteCloser struct {
112+
io.Writer
113+
}
114+
115+
func (w *nopWriteCloser) Close() error {
116+
return nil
117+
}
118+
111119
func compressWithNewZstdCompressingWriter(t *testing.T, src []byte) []byte {
112120
compressed := &bytes.Buffer{}
113-
cw := compression.NewZstdCompressingWriter(compressed)
121+
cw := compression.NewZstdCompressingWriter(&nopWriteCloser{compressed})
114122
written, err := cw.Write(src)
115123
require.NoError(t, err)
116124
require.Equal(t, len(src), written)

0 commit comments

Comments
 (0)