It looks like I was mistaken and the patch was not the cause of the issue I mentioned. I have continued testing it and it seems to perform correctly so I am attaching it.
Note that I chose to enable read when write is performed, instead of just eliminating all cases where read is disabled, because we did not know what side-effects that might have. In contrast, enabling read while writing, suggests that the worst side-effects one may experience will be related to HTTP pipelining (the only case where the client is expected to write something while waiting for response from server), and so I briefly tested it as well (via telnet) and all seems to work as expected. It probably makes sense to test http pipelining some more though.
I did not get a chance to create another unit test, however.
Best,
Ronen