X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f4ada568223b79c8a5769cc351c36a8e2ccd7841..fcc9de54786c9a42d20b6e3409083a34b4399f4b:/include/wx/protocol/http.h?ds=sidebyside diff --git a/include/wx/protocol/http.h b/include/wx/protocol/http.h index 97282b5665..71fd1df60e 100644 --- a/include/wx/protocol/http.h +++ b/include/wx/protocol/http.h @@ -6,28 +6,34 @@ // Created: August 1997 // RCS-ID: $Id$ // Copyright: (c) 1997, 1998 Guilhem Lavaux -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_HTTP_H #define _WX_HTTP_H -#include "wx/list.h" +#include "wx/defs.h" + +#if wxUSE_PROTOCOL_HTTP + +#include "wx/hashmap.h" #include "wx/protocol/protocol.h" -class WXDLLEXPORT wxHTTP : public wxProtocol { +WX_DECLARE_EXPORTED_STRING_HASH_MAP( wxString, wxStringToStringHashMap ); + +class WXDLLIMPEXP_BASE wxHTTP : public wxProtocol { DECLARE_DYNAMIC_CLASS(wxHTTP) DECLARE_PROTOCOL(wxHTTP) protected: wxProtocolError m_perr; - wxList m_headers; - bool m_read; + wxStringToStringHashMap m_headers; + bool m_read, m_proxy_mode; wxSockAddress *m_addr; public: wxHTTP(); ~wxHTTP(); bool Connect(const wxString& host); - bool Connect(wxSockAddress& addr); + bool Connect(wxSockAddress& addr, bool wait); bool Abort(); wxInputStream *GetInputStream(const wxString& path); inline wxProtocolError GetError() { return m_perr; } @@ -36,13 +42,24 @@ public: void SetHeader(const wxString& header, const wxString& h_data); wxString GetHeader(const wxString& header); + void SetProxyMode(bool on); + protected: typedef enum { - wxHTTP_GET + wxHTTP_GET, + wxHTTP_HEAD } wxHTTP_Req; bool BuildRequest(const wxString& path, wxHTTP_Req req); void SendHeaders(); bool ParseHeaders(); + + // deletes the header value strings + void ClearHeaders(); + + DECLARE_NO_COPY_CLASS(wxHTTP) }; -#endif +#endif // wxUSE_PROTOCOL_HTTP + +#endif // _WX_HTTP_H +