From 0e15abc25d53a1ea32cf7fd8055311c98e18f3ea Mon Sep 17 00:00:00 2001 From: unclejack Date: Tue, 12 Aug 2014 19:20:59 +0300 Subject: [PATCH] pkg/ioutils: add WriteCloserWrapper Docker-DCO-1.1-Signed-off-by: Cristian Staretu (github: unclejack) Upstream-commit: 7b6f34057cee94bf22e4e58cd164731e6b0e8851 Component: engine --- components/engine/pkg/ioutils/writers.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/components/engine/pkg/ioutils/writers.go b/components/engine/pkg/ioutils/writers.go index de7bd0259e..c0b3608fe6 100644 --- a/components/engine/pkg/ioutils/writers.go +++ b/components/engine/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, + } +}