Some HTTP servers do not send the entire HTTP header in a single chunk. Hyper assumes that the entire header is received when calling fill_buf, which isn't always the case.
Running the client example in the documentation against a Flask test server causes it to panic:
thread '
' panicked at 'called
Result::unwrap() on an
Err value: HttpTooLargeError'