mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-22 06:11:32 +02:00
HTTP supports status codes 100 and 101 to report protocol indications, which are followed by the requests's response. Till now, haproxy would only see those responses without parsing subsequent ones. That means that cookie additions were only performed on 1xx messages for instance, which does not work since headers must be ignored with 1xx messages. Also, logs were not terribly useful with the common 100 status code in response to "Expect: 100-continue" during POST some requests. This change adds support for such messages. Now haproxy sees them, forwards them and skips them until it finds a correct response, which it logs and processes. As an exception, header removal/rewriting still work on 1xx responses in order to be able to strip out sensible information that may have accidentely been left by another equipment (possibly an older haproxy itself). But headers addition are disabled however. This change brings the ability to loop on response without data, which is a starting point to support keepalive. The change is marked as major as a few fixes had to be performed in the HTTP message parser.