Boost C++ Libraries

PrevUpHomeNext

Type definition basic_https

basic_https — HTTPS session: basic_http over a TLS stream.

Synopsis

// In header: <boost/taar/session/https.hpp>


template<typename Context = no_context> 
using basic_https = basic_http< Context, tls_stream >;

Description

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);


PrevUpHomeNext