aboutsummaryrefslogtreecommitdiff
path: root/utils/ioutils.go
diff options
context:
space:
mode:
Diffstat (limited to 'utils/ioutils.go')
-rw-r--r--utils/ioutils.go28
1 files changed, 28 insertions, 0 deletions
diff --git a/utils/ioutils.go b/utils/ioutils.go
new file mode 100644
index 0000000..a861995
--- /dev/null
+++ b/utils/ioutils.go
@@ -0,0 +1,28 @@
+package utils
+
+import (
+ "compress/zlib"
+ "io"
+)
+
+// NopCloser returns a WriteCloser with a no-op Close method wrapping
+// the provided Writer w.
+func NopCloser(w io.Writer) io.WriteCloser {
+ return nopCloser{w}
+}
+
+type nopCloser struct {
+ io.Writer
+}
+
+func (nopCloser) Close() error { return nil }
+
+// ZlibReader wraps a reader with a new zlib.Reader.
+func ZlibReader(r io.Reader) (io.ReadCloser, error) {
+ return zlib.NewReader(r)
+}
+
+// ZlibWrier wraps a writer with a new zlib.Writer.
+func ZlibWriter(w io.Writer) io.WriteCloser {
+ return zlib.NewWriter(w)
+}