From 1180579bd2ca853a937e6902ad30e4ab9776df43 Mon Sep 17 00:00:00 2001 From: pixel Date: Sun, 25 Mar 2007 23:01:19 +0000 Subject: Having some preliminary work on a HttpClient class. --- include/HttpClient.h | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 include/HttpClient.h (limited to 'include') diff --git a/include/HttpClient.h b/include/HttpClient.h new file mode 100644 index 0000000..b2b8d22 --- /dev/null +++ b/include/HttpClient.h @@ -0,0 +1,44 @@ +#ifndef __HTTPCLIENT_H__ +#define __HTTPCLIENT_H__ + +#include + +#include +#include +#include +#include +#include +#include + +typedef std::vector t_headers; + +extern t_headers no_headers; + +class HttpClient : public Task { + public: + HttpClient(const String & url, Handle * out, int * http_code = 0, const String & fake_host = "", t_headers = no_headers); + virtual ~HttpClient(); + String GetStatus(); + + protected: + virtual int Do() throw (GeneralException); + + private: + void DecodeURL() throw (GeneralException); + + String url; + Handle * out; + int * http_code_p; + String fake_host; + t_headers headers; + Socket Client; + + Buffer b; + + String host, uri; + int http_code; + + Task * c; +}; + +#endif -- cgit v1.2.3