After a connection had been initiated, sending multiple concurrent requests (ex:
open_httpx.request(req1, req2, req3)) could freeze; this happened when the first request would fill the write buffer (like a file upload request), and the subsequent requests would never be buffered afterwards; this was fixed by making pending requests flushing a part of a connection’s consumption loop.
Fixing v0.14.1’s fixed bug again; The HTTP/1 “Connection: close” header was not being set in the last possible request on a connection, due to ann off-by-one error on connection bookkeeping;
HTTP/1 connections didn’t respect a server-set max nunmber of requests after a reconnect; Fixed by making this accounting part of the reset process;
Added regression test suite, which reproduce reported bugs before the fix (backported all 0.14.x releases here)