#include #include #include #include class HttpClient { // TODO at this moment only https is implemented private: SSL *ssl; int sock; std::string full_url, proto, server, port, uri, params, href; std::basic_string ssl_read_packet; std::unordered_map headers_map; public: HttpClient(); std::pair doGetRequest(const std::string &url, const std::unordered_map &headers); private: std::string inetAddress(std::string hostname); int sslRecvPacket(); int sslSendPacket(std::string buf); int sslRequest(const std::string &server_name, const std::string &request); void log_ssl(); };