]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/protocol/http.h
Make brush hatches in wxGTK consistent with wxMSW.
[wxWidgets.git] / interface / wx / protocol / http.h
index 6cd1332ae82e5308cc9cbb05b26fbf99a366f25e..54ffb4582136ad031fc507643ef76d1537373ba6 100644 (file)
@@ -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);
 };