Closed arinban closed 6 years ago
@fsgonz Commented I've created a PR with a possible fix for this issue.
@fsgonz Commented In the changes included in the PR I verify if another response is pending in the buffer and "resets" the state machine in that case.
@rlubke Commented Thanks for the contribution.
@fsgonz Commented Thank you!
When a server sends an expect 100 continue response and shortly afterwards a 200 OK response is sent, a race condition occurs because if the IOEvent involved is honored after the two messages are flushed to the buffer, the 200 response is ignored as it assumed that the message simply involved a 100 continue response. In those cases it should be verified if more that one message is present in the buffer in the state machine in decodeInitialLineFromBytes HttpClientFilter. Currently this is not verified so the second message is ignored.