* merged with apt--mvo, prepared another upload
[ntk/apt.git] / methods / http.h
index 7005870..c5a4d0e 100644 (file)
@@ -1,5 +1,6 @@
 // -*- mode: cpp; mode: fold -*-
-// Description                                                         /*{{{*/// $Id: http.h,v 1.6 1998/12/10 05:39:56 jgg Exp $
+// Description                                                         /*{{{*/// $Id: http.h,v 1.12 2002/04/18 05:09:38 jgg Exp $
+// $Id: http.h,v 1.12 2002/04/18 05:09:38 jgg Exp $
 /* ######################################################################
 
    HTTP Aquire Method - This is the HTTP aquire method for APT.
 
 #define MAXLEN 360
 
+#include <iostream>
+
+using std::cout;
+using std::endl;
+
 class HttpMethod;
 
 class CircleBuf
@@ -45,7 +51,7 @@ class CircleBuf
    
    public:
    
-   MD5Summation *MD5;
+   Hashes *Hash;
    
    // Read data in
    bool Read(int Fd);
@@ -69,7 +75,7 @@ class CircleBuf
    void Stats();
 
    CircleBuf(unsigned long Size);
-   ~CircleBuf() {delete [] Buf;};
+   ~CircleBuf() {delete [] Buf; delete Hash;};
 };
 
 struct ServerState
@@ -87,6 +93,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;
    
@@ -99,7 +109,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();
    
@@ -128,7 +139,7 @@ class HttpMethod : public pkgAcqMethod
    static void SigTerm(int);
    
    public:
-   friend ServerState;
+   friend class ServerState;
 
    FileFd *File;
    ServerState *Server;