Codebase list golang-github-vbauerster-mpb / 372f419
proxyreader: use io.NopCloser Vladimir Bauer 1 year, 10 months ago
1 changed file(s) with 1 addition(s) and 24 deletion(s). Raw diff Collapse all Expand all
6868 if rc, ok := r.(io.ReadCloser); ok {
6969 return rc
7070 }
71 return toNopReadCloser(r)
71 return io.NopCloser(r)
7272 }
73
74 func toNopReadCloser(r io.Reader) io.ReadCloser {
75 if _, ok := r.(io.WriterTo); ok {
76 return nopReadCloserWriterTo{r}
77 }
78 return nopReadCloser{r}
79 }
80
81 type nopReadCloser struct {
82 io.Reader
83 }
84
85 func (nopReadCloser) Close() error { return nil }
86
87 type nopReadCloserWriterTo struct {
88 io.Reader
89 }
90
91 func (nopReadCloserWriterTo) Close() error { return nil }
92
93 func (c nopReadCloserWriterTo) WriteTo(w io.Writer) (int64, error) {
94 return c.Reader.(io.WriterTo).WriteTo(w)
95 }