Codebase list golang-github-vbauerster-mpb / dfea081
refactoring: newProxyReader Vladimir Bauer 3 years ago
1 changed file(s) with 11 addition(s) and 12 deletion(s). Raw diff Collapse all Expand all
5353 return n, err
5454 }
5555
56 func (b *Bar) newProxyReader(r io.Reader, hasEwma bool) (rc io.ReadCloser) {
56 func (b *Bar) newProxyReader(r io.Reader, hasEwma bool) io.ReadCloser {
5757 pr := proxyReader{toReadCloser(r), b}
58 if hasEwma {
59 epr := ewmaProxyReader{pr}
60 if wt, ok := r.(io.WriterTo); ok {
61 pwt := proxyWriterTo{pr, wt}
62 return ewmaProxyWriterTo{epr, pwt}
63 }
64 return epr
65 }
5866 if wt, ok := r.(io.WriterTo); ok {
59 pw := proxyWriterTo{pr, wt}
60 if hasEwma {
61 rc = ewmaProxyWriterTo{ewmaProxyReader{pr}, pw}
62 } else {
63 rc = pw
64 }
65 } else if hasEwma {
66 rc = ewmaProxyReader{pr}
67 } else {
68 rc = pr
67 return proxyWriterTo{pr, wt}
6968 }
70 return rc
69 return pr
7170 }
7271
7372 func toReadCloser(r io.Reader) io.ReadCloser {