From 480053a71a865767745b5942847db094716737b3 Mon Sep 17 00:00:00 2001 From: Barna Csorogi Date: Sat, 14 Jan 2017 03:44:07 +0100 Subject: [PATCH] fix: allow ResponseReader.Reader to be wrapped by transcoders fixes -minify errors --- proxy/proxy.go | 2 +- proxy/response.go | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/proxy/proxy.go b/proxy/proxy.go index f9cc81b..bef25a1 100644 --- a/proxy/proxy.go +++ b/proxy/proxy.go @@ -69,7 +69,7 @@ func (p *Proxy) handle(w http.ResponseWriter, r *http.Request) error { rw := newResponseWriter(w) rr := newResponseReader(resp) err = p.proxyResponse(rw, rr) - read := rr.Count() + read := rr.counter.Count() written := rw.rw.Count() log.Printf("transcoded: %d -> %d (%3.1f%%)", read, written, float64(written)/float64(read)*100) atomic.AddUint64(&p.ReadCount, read) diff --git a/proxy/response.go b/proxy/response.go index a7dc149..6ab67dc 100644 --- a/proxy/response.go +++ b/proxy/response.go @@ -9,14 +9,17 @@ import ( ) type ResponseReader struct { - datacounter.ReaderCounter - r *http.Response + io.Reader + counter *datacounter.ReaderCounter + r *http.Response } func newResponseReader(r *http.Response) *ResponseReader { + counter := datacounter.NewReaderCounter(r.Body) return &ResponseReader{ - ReaderCounter: *datacounter.NewReaderCounter(r.Body), - r: r, + Reader: counter, + counter: counter, + r: r, } }