]> git.saurik.com Git - apt.git/blobdiff - methods/http.cc
* fix the cache-control header generation
[apt.git] / methods / http.cc
index 68653fbb399b81336c48f4a3c3c43339bed70657..ba86aa6b654904a4579e397be946d509cb4c7e3a 100644 (file)
@@ -514,14 +514,14 @@ bool ServerState::HeaderLine(string Line)
       {
         if (sscanf(Line.c_str(),"HTTP/%u.%u %u %[^\n]",&Major,&Minor,
                    &Result,Code) != 4)
-           return _error->Error(_("The http server sent an invalid reply header"));
+           return _error->Error(_("The HTTP server sent an invalid reply header"));
       }
       else
       {
         Major = 0;
         Minor = 9;
         if (sscanf(Line.c_str(),"HTTP %u %[^\n]",&Result,Code) != 2)
-           return _error->Error(_("The http server sent an invalid reply header"));
+           return _error->Error(_("The HTTP server sent an invalid reply header"));
       }
 
       /* Check the HTTP response header to get the default persistance
@@ -550,7 +550,7 @@ bool ServerState::HeaderLine(string Line)
         return true;
       
       if (sscanf(Val.c_str(),"%lu",&Size) != 1)
-        return _error->Error(_("The http server sent an invalid Content-Length header"));
+        return _error->Error(_("The HTTP server sent an invalid Content-Length header"));
       return true;
    }
 
@@ -565,9 +565,9 @@ bool ServerState::HeaderLine(string Line)
       HaveContent = true;
       
       if (sscanf(Val.c_str(),"bytes %lu-%*u/%lu",&StartPos,&Size) != 2)
-        return _error->Error(_("The http server sent an invalid Content-Range header"));
+        return _error->Error(_("The HTTP server sent an invalid Content-Range header"));
       if ((unsigned)StartPos > Size)
-        return _error->Error(_("This http server has broken range support"));
+        return _error->Error(_("This HTTP server has broken range support"));
       return true;
    }
    
@@ -635,9 +635,9 @@ 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());
-      if (_config->FindB("Acquire::http::No-Cache",false) == true)
-        strcat(Buf,"Cache-Control: no-cache\r\nPragma: no-cache\r\n");
-      else
+      // only generate a cache control header if we actually want to 
+      // use a cache
+      if (_config->FindB("Acquire::http::No-Cache",false) == false)
       {
         if (Itm->IndexFile == true)
            sprintf(Buf+strlen(Buf),"Cache-Control: max-age=%u\r\n",
@@ -649,6 +649,10 @@ void HttpMethod::SendReq(FetchItem *Itm,CircleBuf &Out)
         }       
       }
    }
+   // 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;
 
@@ -829,7 +833,7 @@ bool HttpMethod::ServerDie(ServerState *Srv)
    {
       Srv->Close();
       if (LErrno == 0)
-        return _error->Error(_("Error reading from server Remote end closed connection"));
+        return _error->Error(_("Error reading from server. Remote end closed connection"));
       errno = LErrno;
       return _error->Errno("read",_("Error reading from server"));
    }
@@ -1062,7 +1066,7 @@ int HttpMethod::Loop()
         // The header data is bad
         case 2:
         {
-           _error->Error(_("Bad header Data"));
+           _error->Error(_("Bad header data"));
            Fail(true);
            RotateDNS();
            continue;
@@ -1184,7 +1188,6 @@ int HttpMethod::Loop()
 int main()
 {
    setlocale(LC_ALL, "");
-   bindtextdomain(APT_DOMAIN, Cnf.FindDir("Dir::Locale").c_str());
 
    HttpMethod Mth;