mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2026-05-04 12:41:00 +02:00
BUG/MINOR: mux-h1: Check h1m flags to set the server conn_mode on request path
On the server side, we must test the request headers to deduce if we able to do keepalive or not. Otherwise, by default, the keepalive will be enabled on the server's connection, whatever the client said.
This commit is contained in:
parent
674e0addc4
commit
7003378eac
@ -653,6 +653,12 @@ static void h1_set_srv_conn_mode(struct h1s *h1s, struct h1m *h1m)
|
||||
h1m->flags & H1_MF_CONN_CLO)) /* explicit close */
|
||||
h1s->flags = (h1s->flags & ~H1S_F_WANT_MSK) | H1S_F_WANT_CLO;
|
||||
}
|
||||
else {
|
||||
if (h1s->flags & H1S_F_WANT_KAL &&
|
||||
(!(h1m->flags & (H1_MF_VER_11|H1_MF_CONN_KAL)) || /* no KA in HTTP/1.0 */
|
||||
h1m->flags & H1_MF_CONN_CLO)) /* explicit close */
|
||||
h1s->flags = (h1s->flags & ~H1S_F_WANT_MSK) | H1S_F_WANT_CLO;
|
||||
}
|
||||
|
||||
/* If KAL, check if the backend is stopping. If yes, switch in CLO mode */
|
||||
if (h1s->flags & H1S_F_WANT_KAL && be->state == PR_STSTOPPED)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user