summaryrefslogtreecommitdiff
path: root/methods/http.cc
diff options
context:
space:
mode:
authorMichael Vogt <michael.vogt@ubuntu.com>2010-02-03 10:00:54 -0800
committerMichael Vogt <michael.vogt@ubuntu.com>2010-02-03 10:00:54 -0800
commitc9cd3b70f3290071c79d7ef85ed87bd709a06bc6 (patch)
tree75d77a7be409720564beaa89f2937e7141f6c504 /methods/http.cc
parent470221bb9975902d68dbeb068f394b77d1b0af46 (diff)
* methods/http.cc:
- add cache-control headers even if no cache is given to allow adding options for intercepting proxies
Diffstat (limited to 'methods/http.cc')
-rw-r--r--methods/http.cc30
1 files changed, 16 insertions, 14 deletions
diff --git a/methods/http.cc b/methods/http.cc
index 2dae87a02..2bd57024b 100644
--- a/methods/http.cc
+++ b/methods/http.cc
@@ -682,23 +682,25 @@ void HttpMethod::SendReq(FetchItem *Itm,CircleBuf &Out)
and a no-store directive for archives. */
sprintf(Buf,"GET %s HTTP/1.1\r\nHost: %s\r\n",
Itm->Uri.c_str(),ProperHost.c_str());
- // only generate a cache control header if we actually want to
- // use a cache
- if (_config->FindB("Acquire::http::No-Cache",false) == false)
+ }
+ // generate a cache control header (if needed)
+ if (_config->FindB("Acquire::http::No-Cache",false) == true)
+ {
+ strcat(Buf,"Cache-Control: no-cache\r\nPragma: no-cache\r\n");
+ }
+ else
+ {
+ if (Itm->IndexFile == true)
{
- if (Itm->IndexFile == true)
- sprintf(Buf+strlen(Buf),"Cache-Control: max-age=%u\r\n",
- _config->FindI("Acquire::http::Max-Age",0));
- else
- {
- if (_config->FindB("Acquire::http::No-Store",false) == true)
- strcat(Buf,"Cache-Control: no-store\r\n");
- }
+ sprintf(Buf+strlen(Buf),"Cache-Control: max-age=%u\r\n",
+ _config->FindI("Acquire::http::Max-Age",0));
+ }
+ else
+ {
+ if (_config->FindB("Acquire::http::No-Store",false) == true)
+ strcat(Buf,"Cache-Control: no-store\r\n");
}
}
- // generate a no-cache header if needed
- if (_config->FindB("Acquire::http::No-Cache",false) == true)
- strcat(Buf,"Cache-Control: no-cache\r\nPragma: no-cache\r\n");
string Req = Buf;