MINOR: mux-h1: Set EOI on SE during demux when both side are in DONE state
authorChristopher Faulet <cfaulet@haproxy.com>
Fri, 6 Sep 2024 06:46:04 +0000 (08:46 +0200)
committerChristopher Faulet <cfaulet@haproxy.com>
Tue, 1 Oct 2024 05:46:33 +0000 (07:46 +0200)
commit2c0cae806b25f92a368e429dc9b374575b67079a
treeebd6540842ce7c82e20963dea0d681f16bf66d0c
parentce10357477e007e935ad50f1180a512fb2747a71
MINOR: mux-h1: Set EOI on SE during demux when both side are in DONE state

For now, this case is already handled for all requests except for those
waiting for a tunnel establishment (CONNECT and protocol upgrades). It is
not an issue because only bodyless requests are supported in these cases. So
the request is always finished at the end of headers and therefore before
the response.

However, to relax conditions for full H1 protocol upgrades (H1 client and
server), this case will be necessary. Indeed, the idea is to be able to
perform protocol upgrades for requests with a payload. Today, the "Upgrade:"
header is removed before sending the request to the server. But to support
this case, this patch is required to properly finish transaction when the
server does not perform the upgrade.

(cherry picked from commit ad1ef94612fb6cba5b68f7d19c4646491b6da4af)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
src/mux_h1.c