diff options
Diffstat (limited to 'utils')
-rw-r--r-- | utils/ioutils.go | 28 |
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) +} |