A HTTP/HTTPS Client for the mbed networking/CyaSSL ssl library

Dependents:   Anpi dropbox_access php_access_auth TwitterReader ... more

Fork of HTTPClient by Donatien Garnier

HTTP and HTTPS Client Class with wolfSSL, embedded SSL library.

/media/uploads/wolfSSL/wolfssl_logo.png

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 */
Revision:
2:75f5b83238af
Parent:
1:b70c37cf73ca
Child:
3:5aef7584de4b
--- a/HTTPClient.cpp	Thu Apr 26 14:17:23 2012 +0000
+++ b/HTTPClient.cpp	Thu Apr 26 14:19:25 2012 +0000
@@ -156,6 +156,9 @@
 
   size_t recvContentLength = 0;
   bool recvChunked = false;
+  char buf[CHUNK_SIZE];
+  size_t trfLen;
+  int crlfPos;
 
   //Send all headers
 
@@ -188,9 +191,6 @@
   ret = send("\r\n");
   if(ret != OK) goto connerr;
 
-  char buf[CHUNK_SIZE];
-  size_t trfLen;
-
   //Send data (if POST)
   if( (method == HTTP_POST) && (pDataOut != NULL) )
   {
@@ -251,7 +251,7 @@
     goto prtclerr;
   }
 
-  int crlfPos = crlfPtr - buf;
+  crlfPos = crlfPtr - buf;
   buf[crlfPos] = '\0';
 
   //Parse HTTP response