aboutsummaryrefslogtreecommitdiffhomepage
path: root/vendor/github.com/tdewolff/minify/cmd/minify/util.go
diff options
context:
space:
mode:
authorGravatar Frédéric Guillot <fred@miniflux.net>2017-11-19 21:10:04 -0800
committerGravatar Frédéric Guillot <fred@miniflux.net>2017-11-19 22:01:46 -0800
commit8ffb773f43c8dc54801ca1d111854e7e881c93c9 (patch)
tree38133a2fc612597a75fed1d13e5b4042f58a2b7e /vendor/github.com/tdewolff/minify/cmd/minify/util.go
First commit
Diffstat (limited to 'vendor/github.com/tdewolff/minify/cmd/minify/util.go')
-rw-r--r--vendor/github.com/tdewolff/minify/cmd/minify/util.go46
1 files changed, 46 insertions, 0 deletions
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)
+}