X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c0c133e13b36a923c65f94499554e432bc3a0daa..9869c26285dc51d13607cddaa04f65ce983653a5:/include/wx/protocol/http.h diff --git a/include/wx/protocol/http.h b/include/wx/protocol/http.h index 1e99661b1e..cfa2e6f944 100644 --- a/include/wx/protocol/http.h +++ b/include/wx/protocol/http.h @@ -1,10 +1,9 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: http.h +// Name: wx/protocol/http.h // Purpose: HTTP protocol // Author: Guilhem Lavaux // Modified by: Simo Virokannas (authentication, Dec 2005) // Created: August 1997 -// RCS-ID: $Id$ // Copyright: (c) 1997, 1998 Guilhem Lavaux // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -17,6 +16,7 @@ #include "wx/hashmap.h" #include "wx/protocol/protocol.h" +#include "wx/buffer.h" class WXDLLIMPEXP_NET wxHTTP : public wxProtocol { @@ -35,22 +35,28 @@ public: wxString GetHeader(const wxString& header) const; int GetResponse() const { return m_http_response; } + void SetMethod(const wxString& method) { m_method = method; } void SetHeader(const wxString& header, const wxString& h_data); - void SetPostBuffer(const wxString& post_buf); + bool SetPostText(const wxString& contentType, + const wxString& data, + const wxMBConv& conv = wxConvUTF8); + bool SetPostBuffer(const wxString& contentType, const wxMemoryBuffer& data); void SetProxyMode(bool on); -protected: - enum wxHTTP_Req - { - wxHTTP_GET, - wxHTTP_POST, - wxHTTP_HEAD - }; + /* Cookies */ + wxString GetCookie(const wxString& cookie) const; + bool HasCookies() const { return m_cookies.size() > 0; } + + // Use the other SetPostBuffer() overload or SetPostText() instead. + wxDEPRECATED(void SetPostBuffer(const wxString& post_buf)); +protected: typedef wxStringToStringHashMap::iterator wxHeaderIterator; typedef wxStringToStringHashMap::const_iterator wxHeaderConstIterator; + typedef wxStringToStringHashMap::iterator wxCookieIterator; + typedef wxStringToStringHashMap::const_iterator wxCookieConstIterator; - bool BuildRequest(const wxString& path, wxHTTP_Req req); + bool BuildRequest(const wxString& path, const wxString& method); void SendHeaders(); bool ParseHeaders(); @@ -59,18 +65,24 @@ protected: // find the header in m_headers wxHeaderIterator FindHeader(const wxString& header); wxHeaderConstIterator FindHeader(const wxString& header) const; + wxCookieIterator FindCookie(const wxString& cookie); + wxCookieConstIterator FindCookie(const wxString& cookie) const; // deletes the header value strings void ClearHeaders(); - + void ClearCookies(); // internal variables: + wxString m_method; + wxStringToStringHashMap m_cookies; + wxStringToStringHashMap m_headers; bool m_read, m_proxy_mode; wxSockAddress *m_addr; - wxString m_post_buf; + wxMemoryBuffer m_postBuffer; + wxString m_contentType; int m_http_response; DECLARE_DYNAMIC_CLASS(wxHTTP)