![]() |
basic_https — HTTPS session: basic_http over a TLS stream.
// In header: <boost/taar/session/https.hpp> template<typename Context = no_context> using basic_https = basic_http< Context, tls_stream >;
Register handlers exactly as on basic_http; the only difference is the acceptor, which must be boost::taar::server::tls so the handshake happens before the session starts.
boost::asio::ssl::context tls {boost::asio::ssl::context::tls_server}; tls.use_certificate_chain_file("cert.pem"); tls.use_private_key_file("key.pem", boost::asio::ssl::context::pem); taar::session::https https_session; https_session.register_request_handler(method == http::verb::get && target == "/hello", taar::handler::rest([] { return "hello over TLS"; })); boost::asio::co_spawn(io, taar::server::tls("0.0.0.0", "8443", tls, https_session, signals), boost::asio::detached);