// 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
/////////////////////////////////////////////////////////////////////////////
#include "wx/hashmap.h"
#include "wx/protocol/protocol.h"
+#include "wx/buffer.h"
class WXDLLIMPEXP_NET wxHTTP : public wxProtocol
{
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);
/* Cookies */
wxString GetCookie(const wxString& cookie) const;
bool HasCookies() const { return m_cookies.size() > 0; }
-protected:
- enum wxHTTP_Req
- {
- wxHTTP_GET,
- wxHTTP_POST,
- wxHTTP_HEAD
- };
+ // 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();
// 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)