diff --git a/src/detail/connection_pool.cpp b/src/detail/connection_pool.cpp index 08b36e7..8e4eddb 100644 --- a/src/detail/connection_pool.cpp +++ b/src/detail/connection_pool.cpp @@ -23,11 +23,13 @@ #include #include #include +#include #include #include #include #include +#include #include namespace boost @@ -123,7 +125,13 @@ class tls_connection final : public connection capy::io_task<> handshake() { - return stream_.handshake(corosio::openssl_stream::client); + return stream_.handshake(corosio::tls_role::client); + } + + void + set_hostname(std::string_view hostname) + { + stream_.set_hostname(hostname); } bool @@ -361,11 +369,9 @@ connection_pool::connect(urls::url_view url) const if(url.scheme_id() == scheme::https) { - auto tls_ctx = tls_ctx_; - tls_ctx.set_hostname(url.encoded_host()); - auto conn = - std::make_unique(std::move(socket), tls_ctx); + std::make_unique(std::move(socket), tls_ctx_); + conn->set_hostname(url.encoded_host()); auto [hec] = co_await conn->handshake(); if(hec) co_return { hec, {} }; diff --git a/test/unit/detail/connection_pool.cpp b/test/unit/detail/connection_pool.cpp index e9ced0f..a8826e2 100644 --- a/test/unit/detail/connection_pool.cpp +++ b/test/unit/detail/connection_pool.cpp @@ -23,6 +23,7 @@ #include #include #include +#include #include "scripted_net.hpp" #include "test_suite.hpp" @@ -486,7 +487,7 @@ class connection_pool_test { corosio::openssl_stream s{ co_await server.next(), tls_ctx }; auto [hec] = co_await s.handshake( - corosio::openssl_stream::server); + corosio::tls_role::server); BOOST_TEST(!hec); co_await pong(&s);