backend: move LimitReadCloser to util package

The helper is only intended for usage by backend implementations.
This commit is contained in:
Michael Eischer
2024-04-25 21:20:23 +02:00
parent dcd151147c
commit 47232bf8b0
5 changed files with 20 additions and 16 deletions

View File

@@ -0,0 +1,15 @@
package util
import "io"
// LimitedReadCloser wraps io.LimitedReader and exposes the Close() method.
type LimitedReadCloser struct {
io.Closer
io.LimitedReader
}
// LimitReadCloser returns a new reader wraps r in an io.LimitedReader, but also
// exposes the Close() method.
func LimitReadCloser(r io.ReadCloser, n int64) *LimitedReadCloser {
return &LimitedReadCloser{Closer: r, LimitedReader: io.LimitedReader{R: r, N: n}}
}