tree eb0ef4831597bdc4042f12cbaa27c353441e2dda
parent 70730dddbda7a54161404f2e36db1ecf53fa3103
author Willy Tarreau <w@1wt.eu> 1398356768 +0200
committer Willy Tarreau <w@1wt.eu> 1398371670 +0200
encoding latin1

REORG: http: move HTTP Connection response header parsing earlier

Currently, the parsing of the HTTP Connection header for the response
is performed at the same place as the rule sets, which means that after
parsing the beginning of the response, we still have no information on
whether the response is keep-alive compatible or not. Let's do that
earlier.

Note that this is the same code that was moved in the previous function,
both of them are always called in a row so no change of behaviour is
expected.

A future change might consist in having a late analyser to perform the
late header changes such as mangling the connection header. It's quite
painful that currently this is mixed with the rest of the processing
such as filters.
