24#include <boost/asio/executor_work_guard.hpp> 
   25#include <boost/asio/strand.hpp> 
   26#include <boost/beast/core.hpp> 
   27#include <boost/beast/http.hpp> 
   28#include <boost/beast/ssl.hpp> 
   29#include <boost/beast/version.hpp> 
   33#include <unordered_map> 
   44    boost::asio::any_io_executor ioc, boost::asio::ssl::context & ssl_context,
 
   45    const std::function<
void(
const TResponse &)> response);
 
   51    const std::string & host, 
const std::string & target,
 
   52    const boost::beast::http::verb http_method, 
const int & version) 
override;
 
   57  const std::string 
kPort = 
"443";
 
   60    boost::beast::error_code ec, boost::asio::ip::tcp::resolver::results_type results) 
override;
 
   61  void fail(boost::beast::error_code ec, 
const char * what) 
override;
 
   63    boost::beast::error_code ec,
 
   64    boost::asio::ip::tcp::resolver::results_type::endpoint_type) 
override;
 
   66  void on_write(boost::beast::error_code ec, std::size_t bytes_transferred) 
override;
 
   67  void on_read(boost::beast::error_code ec, std::size_t bytes_transferred) 
override;
 
   68  void on_shutdown(boost::beast::error_code ec) 
override;
 
   69  void setBody(
const std::string & body) 
override;
 
   70  void setHeaders(
const std::unordered_map<std::string, std::string> & headers) 
override;
 
   71  void appendToHeader(
const std::string & key, 
const std::string & val);
 
   77  boost::beast::ssl_stream<boost::beast::tcp_stream> 
stream_;
 
   79  boost::beast::http::request<boost::beast::http::string_body> 
req_;
 
 
boost::beast::http::response< boost::beast::http::string_body > TResponse
 
ssl_http_session(boost::asio::any_io_executor ioc, boost::asio::ssl::context &ssl_context, const std::function< void(const TResponse &)> response)
 
void fail(boost::beast::error_code ec, const char *what) override
 
void appendToHeader(const std::string &key, const std::string &val)
 
void run(const std::string &host, const std::string &target, const boost::beast::http::verb http_method, const int &version) override
 
boost::beast::ssl_stream< boost::beast::tcp_stream > stream_
 
boost::beast::flat_buffer buffer_
 
void on_write(boost::beast::error_code ec, std::size_t bytes_transferred) override
 
void on_handshake(boost::beast::error_code ec) override
 
boost::beast::http::request< boost::beast::http::string_body > req_
 
void on_resolve(boost::beast::error_code ec, boost::asio::ip::tcp::resolver::results_type results) override
 
virtual ~ssl_http_session()
 
std::string getPort() override
 
void setHeaders(const std::unordered_map< std::string, std::string > &headers) override
 
std::function< void(const TResponse &)> onResponse
 
void setBody(const std::string &body) override
 
void on_read(boost::beast::error_code ec, std::size_t bytes_transferred) override
 
void on_shutdown(boost::beast::error_code ec) override
 
void on_connect(boost::beast::error_code ec, boost::asio::ip::tcp::resolver::results_type::endpoint_type) override
 
boost::asio::ip::tcp::resolver resolver_