/* */ #ifndef _D_HTTP_CONNECTION_H_ #define _D_HTTP_CONNECTION_H_ #include "SegmentMan.h" #include "Socket.h" #include "Request.h" #include "Option.h" #include "Logger.h" #include #include using namespace std; typedef multimap HttpHeader; class HttpConnection { private: string getHost(const string& host, int port); string createRequest(const Request* req, const Segment& segment); bool useProxy(); bool useProxyAuth(); bool useBasicAuth(); int cuid; Socket* socket; const Option* option; Logger* logger; public: HttpConnection(int cuid, Socket* socket, const Option* op, Logger* logger); void sendRequest(const Request* req, const Segment& segment); void sendProxyRequest(const Request* req); int receiveResponse(HttpHeader& headers); }; #endif // _D_HTTP_CONNECTION_H_