From 8ffb773f43c8dc54801ca1d111854e7e881c93c9 Mon Sep 17 00:00:00 2001 From: Frédéric Guillot Date: Sun, 19 Nov 2017 21:10:04 -0800 Subject: First commit --- .../github.com/tdewolff/minify/cmd/minify/util.go | 46 ++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 vendor/github.com/tdewolff/minify/cmd/minify/util.go (limited to 'vendor/github.com/tdewolff/minify/cmd/minify/util.go') diff --git a/vendor/github.com/tdewolff/minify/cmd/minify/util.go b/vendor/github.com/tdewolff/minify/cmd/minify/util.go new file mode 100644 index 0000000..d8db16e --- /dev/null +++ b/vendor/github.com/tdewolff/minify/cmd/minify/util.go @@ -0,0 +1,46 @@ +package main + +import "io" + +type countingReader struct { + io.Reader + N int +} + +func (r *countingReader) Read(p []byte) (int, error) { + n, err := r.Reader.Read(p) + r.N += n + return n, err +} + +type countingWriter struct { + io.Writer + N int +} + +func (w *countingWriter) Write(p []byte) (int, error) { + n, err := w.Writer.Write(p) + w.N += n + return n, err +} + +type prependReader struct { + io.ReadCloser + prepend []byte +} + +func NewPrependReader(r io.ReadCloser, prepend []byte) *prependReader { + return &prependReader{r, prepend} +} + +func (r *prependReader) Read(p []byte) (int, error) { + if r.prepend != nil { + n := copy(p, r.prepend) + if n != len(r.prepend) { + return n, io.ErrShortBuffer + } + r.prepend = nil + return n, nil + } + return r.ReadCloser.Read(p) +} -- cgit v1.2.3