X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/492f957ad42ce5eee7e26f3edd5789af296b7460..b2e465d6d32d2dc884f58b94acb7e35f671a87fe:/methods/http.h diff --git a/methods/http.h b/methods/http.h index 62f329ef5..2569c2921 100644 --- a/methods/http.h +++ b/methods/http.h @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- -// Description /*{{{*/ -// $Id: http.h,v 1.3 1998/11/04 07:10:50 jgg Exp $ +// Description /*{{{*/// $Id: http.h,v 1.9 2001/02/20 07:03:18 jgg Exp $ +// $Id: http.h,v 1.9 2001/02/20 07:03:18 jgg Exp $ /* ###################################################################### HTTP Aquire Method - This is the HTTP aquire method for APT. @@ -88,6 +88,10 @@ struct ServerState bool HaveContent; enum {Chunked,Stream,Closes} Encoding; enum {Header, Data} State; + bool Persistent; + + // This is a Persistent attribute of the server itself. + bool Pipeline; HttpMethod *Owner; @@ -100,7 +104,8 @@ struct ServerState bool HeaderLine(string Line); bool Comp(URI Other) {return Other.Host == ServerName.Host && Other.Port == ServerName.Port;}; void Reset() {Major = 0; Minor = 0; Result = 0; Size = 0; StartPos = 0; - Encoding = Closes; time(&Date); ServerFd = -1;}; + Encoding = Closes; time(&Date); ServerFd = -1; + Pipeline = true;}; int RunHeaders(); bool RunData(); @@ -118,6 +123,9 @@ class HttpMethod : public pkgAcqMethod bool Flush(ServerState *Srv); bool ServerDie(ServerState *Srv); int DealWithHeaders(FetchResult &Res,ServerState *Srv); + + virtual bool Fetch(FetchItem *); + virtual bool Configuration(string Message); // In the event of a fatal signal this file will be closed and timestamped. static string FailFile; @@ -126,18 +134,17 @@ class HttpMethod : public pkgAcqMethod static void SigTerm(int); public: - friend ServerState; + friend class ServerState; - int Depth; FileFd *File; + ServerState *Server; int Loop(); - HttpMethod() : pkgAcqMethod("1.2",SingleInstance | Pipeline | SendConfig) + HttpMethod() : pkgAcqMethod("1.2",Pipeline | SendConfig) { - Depth = 0; File = 0; - Depth = 0; + Server = 0; }; };