unsigned long TimeOut = 120;
bool Debug = false;
+
// CircleBuf::CircleBuf - Circular input buffer /*{{{*/
// ---------------------------------------------------------------------
/* */
// Woops, buffer is full
if (InP - OutP == Size)
return true;
-
+
// Write the buffer segment
int Res;
Res = read(Fd,Buf + (InP%Size),LeftRead());
{
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
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;
}
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;
}
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",
}
}
}
+ // 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;
{
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"));
}
// The header data is bad
case 2:
{
- _error->Error(_("Bad header Data"));
+ _error->Error(_("Bad header data"));
Fail(true);
RotateDNS();
continue;