diff --git a/pkg/ioutils/writers.go b/pkg/ioutils/writers.go index de7bd0259e..c0b3608fe6 100644 --- a/pkg/ioutils/writers.go +++ b/pkg/ioutils/writers.go @@ -21,3 +21,19 @@ func NopWriteCloser(w io.Writer) io.WriteCloser { type NopFlusher struct{} func (f *NopFlusher) Flush() {} + +type writeCloserWrapper struct { + io.Writer + closer func() error +} + +func (r *writeCloserWrapper) Close() error { + return r.closer() +} + +func NewWriteCloserWrapper(r io.Writer, closer func() error) io.WriteCloser { + return &writeCloserWrapper{ + Writer: r, + closer: closer, + } +}