MCPcopy Create free account
hub / github.com/imgproxy/imgproxy / fetch

Method fetch

bufreader/bufreader.go:75–96  ·  view source on GitHub ↗

fetch ensures the buffer contains at least 'need' bytes

(need int)

Source from the content-addressed store, hash-verified

73
74// fetch ensures the buffer contains at least 'need' bytes
75func (br *Reader) fetch(need int) error {
76 if br.finished || need <= len(br.buf) {
77 return nil
78 }
79
80 b := make([]byte, need-len(br.buf))
81 n, err := ioutil.TryReadFull(br.r, b)
82
83 if errors.Is(err, io.EOF) {
84 // If we reached EOF, we mark the reader as finished
85 br.finished = true
86 } else if err != nil {
87 return err
88 }
89
90 if n > 0 {
91 // append only those which we read in fact
92 br.buf = append(br.buf, b[:n]...)
93 }
94
95 return nil
96}

Callers 2

ReadMethod · 0.95
PeekMethod · 0.95

Calls 1

TryReadFullFunction · 0.92

Tested by

no test coverage detected