123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- #ifndef BOOST_MYSQL_IMPL_INTERNAL_SSL_CONTEXT_WITH_DEFAULT_HPP
- #define BOOST_MYSQL_IMPL_INTERNAL_SSL_CONTEXT_WITH_DEFAULT_HPP
- #include <boost/asio/ssl/context.hpp>
- #include <boost/variant2/variant.hpp>
- namespace boost {
- namespace mysql {
- namespace detail {
- inline asio::ssl::context create_default_ssl_context()
- {
-
-
- asio::ssl::context ctx(asio::ssl::context::tlsv12_client);
- return ctx;
- }
- inline asio::ssl::context& default_ssl_context()
- {
- static asio::ssl::context ctx = create_default_ssl_context();
- return ctx;
- }
- class ssl_context_with_default
- {
- asio::ssl::context* impl_;
- public:
- ssl_context_with_default(asio::ssl::context* ctx) noexcept : impl_(ctx) {}
- asio::ssl::context& get()
- {
- if (impl_ == nullptr)
- impl_ = &default_ssl_context();
- return *impl_;
- }
-
- const asio::ssl::context* get_ptr() const noexcept { return impl_; }
- };
- }
- }
- }
- #endif
|