mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-08-07 07:37:02 +02:00
BUG/MINOR: cache: do not force the TX_CACHEABLE flag before checking cacheability
The cache used to set this flag before calling check_response_for_cacheability() due to the way the flags were previously set (too late), but this is a bad idea as it loses the information of the implicit caching rules related to the method and the status code. Let's only rely on what was determined during the request and response parsing instead and not change it. This fix must be backported to 1.8, and it requires that the following patches are also merged : - MINOR: http: adjust the list of supposedly cacheable methods - MINOR: http: update the list of cacheable status codes as per RFC7231 - MINOR: http: start to compute the transaction's cacheability from the request - BUG/MINOR: http: do not ignore cache-control: public
This commit is contained in:
parent
d3900cc31d
commit
faf2909f9f
@ -431,11 +431,7 @@ enum act_return http_action_store_cache(struct act_rule *rule, struct proxy *px,
|
|||||||
if (http_find_header2("Vary", 4, txn->rsp.chn->buf->p, &txn->hdr_idx, &ctx))
|
if (http_find_header2("Vary", 4, txn->rsp.chn->buf->p, &txn->hdr_idx, &ctx))
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
/* we need to put this flag before using check_response_for_cacheability */
|
check_response_for_cacheability(s, &s->res);
|
||||||
txn->flags |= TX_CACHEABLE;
|
|
||||||
|
|
||||||
if (txn->status != 101)
|
|
||||||
check_response_for_cacheability(s, &s->res);
|
|
||||||
|
|
||||||
if (!(txn->flags & TX_CACHEABLE))
|
if (!(txn->flags & TX_CACHEABLE))
|
||||||
goto out;
|
goto out;
|
||||||
|
Loading…
Reference in New Issue
Block a user