Simplified limitedReader by reading one extra byte

This commit is contained in:
Cecylia Bocovich 2019-05-28 13:14:18 -04:00
parent 0842dad38e
commit 254e6b9a3d
2 changed files with 6 additions and 20 deletions

View file

@ -67,18 +67,11 @@ func NewBrokerChannel(broker string, front string, transport http.RoundTripper)
}
func limitedRead(r io.Reader, limit int64) ([]byte, error) {
p, err := ioutil.ReadAll(&io.LimitedReader{r, limit})
p, err := ioutil.ReadAll(&io.LimitedReader{r, limit + 1})
if err != nil {
return p, err
}
//Check to see if limit was exceeded
var tmp [1]byte
_, err = io.ReadFull(r, tmp[:])
if err == io.EOF {
err = nil
} else if err == nil {
err = io.ErrUnexpectedEOF
} else if int64(len(p)) == limit+1 {
return p[0:limit], io.ErrUnexpectedEOF
}
return p, err
}