X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ae3c17b4013e80b99976c750c19fca47729517f6..5e0e1372fdbb5e9325cadc8be2f69ae0e849a9cc:/interface/wx/protocol/http.h diff --git a/interface/wx/protocol/http.h b/interface/wx/protocol/http.h index 6cd1332ae8..54ffb45821 100644 --- a/interface/wx/protocol/http.h +++ b/interface/wx/protocol/http.h @@ -3,15 +3,16 @@ // Purpose: interface of wxHTTP // Author: wxWidgets team // RCS-ID: $Id$ -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// /** @class wxHTTP - @headerfile http.h wx/protocol/http.h wxHTTP can be used to establish a connection to an HTTP server. + wxHTTP can thus be used to create a (basic) HTTP @b client. + @library{wxnet} @category{net} @@ -21,14 +22,41 @@ class wxHTTP : public wxProtocol { public: /** - Returns the data attached with a field whose name is specified by @e header. + Default constructor. + */ + wxHTTP(); + + /** + Destructor will close the connection if connected. + */ + virtual ~wxHTTP(); + + //@{ + /** + Connect to the HTTP server. + + By default, connection is made to the port 80 of the specified @a host. + You may connect to a non-default port by specifying it explicitly using + the second overload. + + Currently wxHTTP only supports IPv4. + + For the overload taking wxSockAddress, the @a wait argument is ignored. + */ + virtual bool Connect(const wxString& host); + virtual bool Connect(const wxString& host, unsigned short port); + virtual bool Connect(const wxSockAddress& addr, bool wait); + //@} + + /** + Returns the data attached with a field whose name is specified by @a header. If the field doesn't exist, it will return an empty string and not a @NULL string. @note The header is not case-sensitive, i.e. "CONTENT-TYPE" and "content-type" represent the same header. */ - wxString GetHeader(const wxString& header); + wxString GetHeader(const wxString& header) const; /** Creates a new input stream on the specified path. @@ -53,7 +81,7 @@ public: @see wxInputStream */ - wxInputStream* GetInputStream(const wxString& path); + virtual wxInputStream* GetInputStream(const wxString& path); /** Returns the HTTP response code returned by the server. @@ -65,9 +93,29 @@ public: /** It sets data of a field to be sent during the next request to the HTTP server. - The field name is specified by @a header and the content by @e h_data. + The field name is specified by @a header and the content by @a h_data. This is a low level function and it assumes that you know what you are doing. */ void SetHeader(const wxString& header, const wxString& h_data); + + /** + Returns the value of a cookie. + */ + + wxString GetCookie(const wxString& cookie) const; + + /** + Returns @true if there were cookies. + */ + bool HasCookies() const; + + /** + Set the data to be posted to the server. + + If a non-empty string is passed to this method, the next request will + be an HTTP @c POST instead of the default HTTP @c GET and the data from + @a post_buf will be posted as the body of this request. + */ + void SetPostBuffer(const wxString& post_buf); };