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:
- 26:bf979804b653
- Parent:
- 22:4b9a4151cc73
- Child:
- 31:7fd621b83b60
--- a/HTTPClient.h Sat Jul 12 12:09:38 2014 +0000 +++ b/HTTPClient.h Mon Jul 21 11:30:29 2014 +0000 @@ -43,6 +43,7 @@ HTTP_TIMEOUT, ///<Connection timeout HTTP_CONN, ///<Connection error HTTP_CLOSED, ///<Connection was closed by remote host + HTTP_REDIRECT, ///<HTTP 300 - 303 HTTP_OK = 0, ///<Success }; @@ -121,8 +122,9 @@ */ int getHTTPResponseCode(); - void setHeader(char *header) ; /* set http headers */ + void setHeader(const char *header) ; /* set http headers */ HTTPResult setSSLversion(int minorV) ; /* set SSL/TLS version. 0: SSL3, 1: TLS1.0, 2: TLS1.1, 3: TLS1.2 */ + void setLocationBuf(char *url, int size) ; /* set URL buffer for redirection */ private: enum HTTP_METH { @@ -140,6 +142,7 @@ HTTPResult parseURL(const char* url, char* scheme, size_t maxSchemeLen, char* host, size_t maxHostLen, uint16_t* port, char* path, size_t maxPathLen); //Parse URL void cyassl_free(void) ; HTTPResult bAuth(void) ; + HTTPResult readHeader(void) ; //Parameters @@ -149,8 +152,11 @@ const char* m_basicAuthPassword; int m_httpResponseCode; - char * header ; - + const char * header ; + char * redirect_url ; + int redirect_url_size ; + int redirect ; + /* for CyaSSL */ int SSLver ; uint16_t port;