浏览代码

pkg/ioutils: add WriteCloserWrapper

Docker-DCO-1.1-Signed-off-by: Cristian Staretu <cristian.staretu@gmail.com> (github: unclejack)
unclejack 11 年之前
父节点
当前提交
7b6f34057c
共有 1 个文件被更改,包括 16 次插入0 次删除
  1. 16 0
      pkg/ioutils/writers.go

+ 16 - 0
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,
+	}
+}