X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/71414756b2cb4d64ee167e61f3fa4854c4f2a85b..d33704ddf2884c8b1cf1178e3cee6d2e1b4004f0:/include/wx/protocol/http.h diff --git a/include/wx/protocol/http.h b/include/wx/protocol/http.h index 05ab817ac5..2f6437e24a 100644 --- a/include/wx/protocol/http.h +++ b/include/wx/protocol/http.h @@ -2,7 +2,7 @@ // Name: http.h // Purpose: HTTP protocol // Author: Guilhem Lavaux -// Modified by: +// Modified by: Simo Virokannas (authentication, Dec 2005) // Created: August 1997 // RCS-ID: $Id$ // Copyright: (c) 1997, 1998 Guilhem Lavaux @@ -18,16 +18,18 @@ #include "wx/hashmap.h" #include "wx/protocol/protocol.h" -WX_DECLARE_EXPORTED_STRING_HASH_MAP( wxString, wxStringToStringHashMap ); +WX_DECLARE_STRING_HASH_MAP_WITH_DECL( wxString, wxStringToStringHashMap, + class WXDLLIMPEXP_NET ); -class WXDLLIMPEXP_BASE wxHTTP : public wxProtocol +class WXDLLIMPEXP_NET wxHTTP : public wxProtocol { public: wxHTTP(); ~wxHTTP(); - bool Connect(const wxString& host, unsigned short port = 0); - bool Connect(wxSockAddress& addr, bool wait); + virtual bool Connect(const wxString& host, unsigned short port); + virtual bool Connect(const wxString& host) { return Connect(host, 0); } + virtual bool Connect(wxSockAddress& addr, bool wait); bool Abort(); wxInputStream *GetInputStream(const wxString& path); inline wxProtocolError GetError() { return m_perr; } @@ -39,6 +41,11 @@ public: void SetProxyMode(bool on); + int GetResponse() { return m_http_response; } + + virtual void SetUser(const wxString& user) { m_username = user; } + virtual void SetPassword(const wxString& passwd ) { m_password = passwd; } + protected: enum wxHTTP_Req { @@ -48,13 +55,17 @@ protected: }; typedef wxStringToStringHashMap::iterator wxHeaderIterator; + typedef wxStringToStringHashMap::const_iterator wxHeaderConstIterator; bool BuildRequest(const wxString& path, wxHTTP_Req req); void SendHeaders(); bool ParseHeaders(); + wxString GenerateAuthString(const wxString& user, const wxString& pass) const; + // find the header in m_headers - wxHeaderIterator FindHeader(const wxString& header) const; + wxHeaderIterator FindHeader(const wxString& header); + wxHeaderConstIterator FindHeader(const wxString& header) const; // deletes the header value strings void ClearHeaders(); @@ -65,6 +76,9 @@ protected: m_proxy_mode; wxSockAddress *m_addr; wxString m_post_buf; + int m_http_response; + wxString m_username; + wxString m_password; DECLARE_DYNAMIC_CLASS(wxHTTP) DECLARE_PROTOCOL(wxHTTP)