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.h
- Revision:
- 22:4b9a4151cc73
- Parent:
- 19:1e2f05809eb1
- Child:
- 26:bf979804b653
--- a/HTTPClient.h Thu Apr 17 12:23:47 2014 +0000 +++ b/HTTPClient.h Sat Jul 12 07:08:10 2014 +0000 @@ -58,15 +58,13 @@ HTTPClient(); ~HTTPClient(); -#if 0 //TODO add header handlers /** Provides a basic authentification feature (Base64 encoded username and password) Pass two NULL pointers to switch back to no authentication @param user username to use for authentication, must remain valid durlng the whole HTTP session @param user password to use for authentication, must remain valid durlng the whole HTTP session */ - void basicAuth(const char* user, const char* password); //Basic Authentification -#endif + HTTPResult basicAuth(const char* user, const char* password); //Basic Authentification //High Level setup functions /** Execute a GET request on the URL @@ -122,7 +120,9 @@ @return The HTTP response code of the last request */ int getHTTPResponseCode(); - void setHeader(char *header) ; + + 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 */ private: enum HTTP_METH { @@ -139,7 +139,8 @@ HTTPResult flush(void); //0 on success, err code on failure 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) ; + //Parameters int m_timeout; @@ -149,7 +150,9 @@ int m_httpResponseCode; char * header ; + /* for CyaSSL */ + int SSLver ; uint16_t port; struct CYASSL_CTX* ctx ; struct CYASSL * ssl ;