merged from the mvo branch
[ntk/apt.git] / methods / http.h
index 07a65d7..bac94e1 100644 (file)
@@ -1,9 +1,9 @@
 // -*- mode: cpp; mode: fold -*-
-// Description                                                         /*{{{*/// $Id: http.h,v 1.10 2001/03/06 07:15:29 jgg Exp $
-// $Id: http.h,v 1.10 2001/03/06 07:15:29 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.
+   HTTP Acquire Method - This is the HTTP aquire method for APT.
 
    ##################################################################### */
                                                                        /*}}}*/
 
 #define MAXLEN 360
 
+
+
+using std::cout;
+using std::endl;
+
 class HttpMethod;
 
 class CircleBuf
@@ -26,6 +31,11 @@ class CircleBuf
    unsigned long MaxGet;
    struct timeval Start;
    
+   static unsigned long BwReadLimit;
+   static unsigned long BwTickReadData;
+   static struct timeval BwReadTick;
+   static const unsigned int BW_HZ;
+
    unsigned long LeftRead()
    {
       unsigned long Sz = Size - (InP - OutP);
@@ -70,7 +80,7 @@ class CircleBuf
    void Stats();
 
    CircleBuf(unsigned long Size);
-   ~CircleBuf() {delete [] Buf;};
+   ~CircleBuf() {delete [] Buf; delete Hash;};
 };
 
 struct ServerState
@@ -89,6 +99,7 @@ struct ServerState
    enum {Chunked,Stream,Closes} Encoding;
    enum {Header, Data} State;
    bool Persistent;
+   string Location;
    
    // This is a Persistent attribute of the server itself.
    bool Pipeline;
@@ -123,8 +134,8 @@ class HttpMethod : public pkgAcqMethod
    bool Flush(ServerState *Srv);
    bool ServerDie(ServerState *Srv);
    int DealWithHeaders(FetchResult &Res,ServerState *Srv);
+   bool AutoDetectProxy();
 
-   virtual bool Fetch(FetchItem *);
    virtual bool Configuration(string Message);
    
    // In the event of a fatal signal this file will be closed and timestamped.
@@ -132,6 +143,12 @@ class HttpMethod : public pkgAcqMethod
    static int FailFd;
    static time_t FailTime;
    static void SigTerm(int);
+
+   protected:
+   virtual bool Fetch(FetchItem *);
+   
+   string NextURI;
+   string AutoDetectProxyCmd;
    
    public:
    friend class ServerState;
@@ -148,6 +165,4 @@ class HttpMethod : public pkgAcqMethod
    };
 };
 
-URI Proxy;
-
 #endif