A HTTP/HTTPS Client for the mbed networking/CyaSSL ssl library
Dependents: Anpi dropbox_access php_access_auth TwitterReader ... more
Fork of HTTPClient by
HTTP and HTTPS Client Class with wolfSSL, embedded SSL library.
The class was forked from http://mbed.org/users/donatien/code/HTTPClient/
It, now, accepts url both with "http://" and "https://".
Allocate caller thread with 16kbytes or larger stack for "https" requests.
Rest of the API stays compatible with HTTPClient.
For more about the library, see http://www.wolfssl.com. http://wolfssl.com/yaSSL/Docs.html.
Extended methods:
- HTTPResult basicAuth(const char* user, const char* password); /* set id/passwd for basic Authentication */
- void setHeader(char *header) ; /* set http headers */
- HTTPResult setSSLversion(int minorV) ; /* set SSL/TLS version. 0: SSL3, 1: TLS1.0, 2: TLS1.1, 3: TLS1.2 */
Diff: HTTPClient.h
- Revision:
- 16:1f743885e7de
- Parent:
- 12:89d09a6db00a
- Child:
- 17:c73d8e61d391
--- a/HTTPClient.h Wed Aug 29 11:16:48 2012 +0000 +++ b/HTTPClient.h Thu Aug 30 15:38:57 2012 +0000 @@ -72,7 +72,7 @@ #endif //High Level setup functions - /** Execute a GET request on the url + /** Execute a GET request on the URL Blocks until completion @param url : url on which to execute the request @param pDataIn : pointer to an IHTTPDataIn instance that will collect the data returned by the request, can be NULL @@ -81,7 +81,7 @@ */ HTTPResult get(const char* url, IHTTPDataIn* pDataIn, int timeout = HTTP_CLIENT_DEFAULT_TIMEOUT); //Blocking - /** Execute a GET request on the url + /** Execute a GET request on the URL Blocks until completion This is a helper to directly get a piece of text from a HTTP result @param url : url on which to execute the request @@ -92,7 +92,7 @@ */ HTTPResult get(const char* url, char* result, size_t maxResultLen, int timeout = HTTP_CLIENT_DEFAULT_TIMEOUT); //Blocking - /** Execute a POST request on the url + /** Execute a POST request on the URL Blocks until completion @param url : url on which to execute the request @param dataOut : a IHTTPDataOut instance that contains the data that will be posted @@ -102,6 +102,25 @@ */ HTTPResult post(const char* url, const IHTTPDataOut& dataOut, IHTTPDataIn* pDataIn, int timeout = HTTP_CLIENT_DEFAULT_TIMEOUT); //Blocking + /** Execute a PUT request on the URL + Blocks until completion + @param url : url on which to execute the request + @param dataOut : a IHTTPDataOut instance that contains the data that will be put + @param pDataIn : pointer to an IHTTPDataIn instance that will collect the data returned by the request, can be NULL + @param timeout waiting timeout in ms (osWaitForever for blocking function, not recommended) + @return 0 on success, HTTP error (<0) on failure + */ + HTTPResult put(const char* url, const IHTTPDataOut& dataOut, IHTTPDataIn* pDataIn, int timeout = HTTP_CLIENT_DEFAULT_TIMEOUT); //Blocking + + /** Execute a DELETE request on the URL + Blocks until completion + @param url : url on which to execute the request + @param pDataIn : pointer to an IHTTPDataIn instance that will collect the data returned by the request, can be NULL + @param timeout waiting timeout in ms (osWaitForever for blocking function, not recommended) + @return 0 on success, HTTP error (<0) on failure + */ + HTTPResult del(const char* url, IHTTPDataIn* pDataIn, int timeout = HTTP_CLIENT_DEFAULT_TIMEOUT); //Blocking + /** Get last request's HTTP response code @return The HTTP response code of the last request */ @@ -112,6 +131,8 @@ { HTTP_GET, HTTP_POST, + HTTP_PUT, + HTTP_DELETE, HTTP_HEAD };