1
0
tmk_keyboard/tool/mbed/mbed-sdk/libraries/net/https/HTTPSClient.h
Jun Wako 1fe4406f37 Squashed 'tmk_core/' changes from 7967731..b9e0ea0
b9e0ea0 Merge commit '7fa9d8bdea3773d1195b04d98fcf27cf48ddd81d' as 'tool/mbed/mbed-sdk'
7fa9d8b Squashed 'tool/mbed/mbed-sdk/' content from commit 7c21ce5

git-subtree-dir: tmk_core
git-subtree-split: b9e0ea08cb940de20b3610ecdda18e9d8cd7c552
2015-04-24 16:26:14 +09:00

57 lines
1.1 KiB
C++

#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