Fork of the working HTTPClient adaptation using CyaSSL. This version adds a derivation of HTTPText called HTTPJson to emit JSON text properly. Additionally, the URL parser has defines that permit longer URLs to be utilized.
Dependents: SalesforceInterface df-2014-heroku-thermostat-k64f SalesforceInterface
Fork of HTTPClient by
This is a fork of the working HTTPS/SSL library that contains two extensions:
- HTTPJson - a derivation of HTTPText for emitting JSON strings specifically. No JSON parsing/checking is accomplished - HTTPJson simply sets the right Content-Type for HTTP(S).
- Expanded internal buffers for longer URLs. This is set in HTTPClient.cpp and is tunable.
Diff: HTTPClient.cpp
- Revision:
- 37:29941a3bae90
- Parent:
- 36:debaeb6006a7
- Child:
- 38:38720bd5dd16
--- a/HTTPClient.cpp Wed Sep 17 21:36:14 2014 +0000 +++ b/HTTPClient.cpp Thu Sep 18 03:21:13 2014 +0000 @@ -26,12 +26,12 @@ #include "rtos.h" //Debug is disabled by default -#ifdef DEBUG_HTTP +#if 1 //Enable debug #include <cstdio> -#define DBG(x, ...) std::printf("[HTTPClient : DBG]"x"\r\n", ##__VA_ARGS__); -#define WARN(x, ...) std::printf("[HTTPClient : WARN]"x"\r\n", ##__VA_ARGS__); -#define ERR(x, ...) std::printf("[HTTPClient : ERR]"x"\r\n", ##__VA_ARGS__); +#define DBG(x, ...) std::printf("[HTTPClient : DBG] "x"\r\n", ##__VA_ARGS__); +#define WARN(x, ...) std::printf("[HTTPClient : WARN] "x"\r\n", ##__VA_ARGS__); +#define ERR(x, ...) std::printf("[HTTPClient : ERR] "x"\r\n", ##__VA_ARGS__); #else //Disable debug @@ -60,7 +60,7 @@ #include "TCPSocketConnection.h" static TCPSocketConnection m_sock; -#define CHUNK_SIZE 256 +#define CHUNK_SIZE 512 #define SEND_BUF_SIZE 1024 static char send_buf[SEND_BUF_SIZE] ; static char *send_buf_p = NULL; @@ -116,8 +116,8 @@ HTTPClient::HTTPClient() : m_basicAuthUser(NULL), m_basicAuthPassword(NULL), m_httpResponseCode(0), m_oauthToken(NULL) { - - /* CyaSSL_Debugging_ON() ; */ + // To DEBUG the underlying SSL - uncomment this... + CyaSSL_Debugging_ON(); ctx = 0 ; ssl = 0 ; @@ -340,8 +340,7 @@ } } - DBG("ctx=%x, ssl=%x, ssl->ctx->CBIORecv, CBIOSend=%x, %x\n", - ctx, ssl, SocketReceive, SocketSend ) ; + DBG("ctx=%x, ssl=%x, ssl->ctx->CBIORecv, CBIOSend=%x, %x\n",ctx, ssl, SocketReceive, SocketSend ) ; int result = CyaSSL_connect(ssl); if (result != SSL_SUCCESS) { ERR("SSL_connect failed");