summaryrefslogtreecommitdiff
path: root/tmk_core/tool/mbed/mbed-sdk/libraries/net/https/HTTPSClient.h
diff options
context:
space:
mode:
Diffstat (limited to 'tmk_core/tool/mbed/mbed-sdk/libraries/net/https/HTTPSClient.h')
-rw-r--r--tmk_core/tool/mbed/mbed-sdk/libraries/net/https/HTTPSClient.h56
1 files changed, 56 insertions, 0 deletions
diff --git a/tmk_core/tool/mbed/mbed-sdk/libraries/net/https/HTTPSClient.h b/tmk_core/tool/mbed/mbed-sdk/libraries/net/https/HTTPSClient.h
new file mode 100644
index 0000000000..92c6908479
--- /dev/null
+++ b/tmk_core/tool/mbed/mbed-sdk/libraries/net/https/HTTPSClient.h
@@ -0,0 +1,56 @@
+#ifndef HTTPSCLIENT_H
+#define HTTPSCLIENT_H
+
+#include "Socket/Socket.h"
+#include "Socket/Endpoint.h"
+#include "axTLS/ssl/ssl.h"
+#include "HTTPHeader.h"
+
+/**
+TCP socket connection
+*/
+class HTTPSClient : public Socket, public Endpoint {
+
+public:
+ /** TCP socket connection
+ */
+ HTTPSClient();
+
+
+ virtual ~HTTPSClient();
+
+ /** Connects this TCP socket to the server
+ \param host The host to connect to. It can either be an IP Address or a hostname that will be resolved with DNS.
+ \param port The host's port to connect to.
+ \return 0 on success, -1 on failure.
+ */
+ int connect(const char* host);
+
+ /** Check if the socket is connected
+ \return true if connected, false otherwise.
+ */
+ bool is_connected(void);
+
+ // Returns the size of the body
+ HTTPHeader get(char *path);
+
+ int read(char *data, int len);
+
+
+ void close();
+
+private:
+
+
+ int send(char* data, int length);
+
+ uint8_t read_line();
+ HTTPHeader read_header();
+
+ bool _is_connected;
+ SSL_CTX _ssl_ctx;
+ SSL _ssl;
+ std::string _host;
+};
+
+#endif