Once MaxResponseSize bytes were read, limitedReader.Read refused the
next read without looking for the end of the body. A body sent with a
Content-Length gets io.EOF with its last bytes, but the end of a
chunked body can come in a later read, so a chunked body of exactly
the limit was refused. Once the limit is used up, Read now reads one
more byte: at the end of the body it returns io.EOF, and with more
data it returns ErrResponseTooLarge, as does every later Read.
Model: opus-5-5
A chunked body of exactly MaxResponseSize bytes is refused with
ErrResponseTooLarge; this test fails until the fix. The upstream sends
the end of the chunked body only after the test has read that many
bytes, so the read that finds the limit used up comes first. A body
sent with a Content-Length, and a body one byte over the limit under
either framing, already behave as intended.
Model: opus-5-5