// Name: protocol/http.h
// Purpose: interface of wxHTTP
// Author: wxWidgets team
-// RCS-ID: $Id$
-// Licence: wxWindows license
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
/**
*/
int GetResponse() const;
+ /**
+ Set HTTP method.
+
+ Set <a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html">common</a>
+ or expanded HTTP method.
+
+ Overrides GET or POST methods that is used by default.
+
+ @param method
+ HTTP method name, e.g. "GET".
+
+ @since 3.0.0
+
+ @see SetPostBuffer(), SetPostText()
+ */
+ void SetMethod(const wxString& method);
+
/**
It sets data of a field to be sent during the next request to the HTTP server.
bool HasCookies() const;
/**
- Set the data to be posted to the server.
+ Set the binary data to be posted to the server.
+
+ If a non-empty buffer is passed to this method, the next request will
+ be an HTTP @c POST instead of the default HTTP @c GET and the given @a
+ data will be posted as the body of this request.
+
+ For textual data a more convenient SetPostText() can be used instead.
+
+ @param contentType
+ The value of HTTP "Content-Type" header, e.g. "image/png".
+ @param data
+ The data to post.
+ @return
+ @true if any data was passed in or @false if the buffer was empty.
- 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.
+ @since 2.9.4
+ */
+ bool SetPostBuffer(const wxString& contentType, const wxMemoryBuffer& data);
+
+ /**
+ Set the text to be posted to the server.
+
+ After a successful call to this method, the request will use HTTP @c
+ POST instead of the default @c GET when it's executed.
+
+ Use SetPostBuffer() if you need to post non-textual data.
+
+ @param contentType
+ The value of HTTP "Content-Type" header, e.g. "text/html;
+ charset=UTF-8".
+ @param data
+ The data to post.
+ @param conv
+ The conversion to use to convert @a data contents to a byte stream.
+ Its value should be consistent with the charset parameter specified
+ in @a contentType.
+ @return
+ @true if string was non-empty and was successfully converted using
+ the given @a conv or @false otherwise (in this case this request
+ won't be @c POST'ed correctly).
+
+ @since 2.9.4
*/
- void SetPostBuffer(const wxString& post_buf);
+ bool SetPostText(const wxString& contentType,
+ const wxString& data,
+ const wxMBConv& conv = wxConvUTF8);
};