2 #include <boost/asio.hpp> 4 #include <boost/asio/ssl.hpp> 22 return socket_.get_io_service();
37 return socket_.remote_endpoint();
42 return socket_.is_open();
53 f(boost::system::error_code());
59 #ifdef CROW_ENABLE_SSL 63 using ssl_socket_t = boost::asio::ssl::stream<tcp::socket>;
64 SSLAdaptor(boost::asio::io_service& io_service,
context* ctx)
65 : ssl_socket_(
new ssl_socket_t(io_service, *ctx))
69 boost::asio::ssl::stream<tcp::socket>& socket()
74 tcp::socket::lowest_layer_type&
77 return ssl_socket_->lowest_layer();
80 tcp::endpoint remote_endpoint()
82 return raw_socket().remote_endpoint();
87 return raw_socket().is_open();
95 boost::asio::io_service& get_io_service()
97 return raw_socket().get_io_service();
100 template <
typename F>
103 ssl_socket_->async_handshake(boost::asio::ssl::stream_base::server,
104 [f](
const boost::system::error_code& ec) {
109 std::unique_ptr<boost::asio::ssl::stream<tcp::socket>> ssl_socket_;
Definition: socket_adaptors.h:12
boost::asio::io_service & get_io_service()
Definition: socket_adaptors.h:20
Definition: unordered_containers_boost_serialization.h:38
#define F(w, k)
Definition: sha512-blocks.c:61
void start(F f)
Definition: socket_adaptors.h:51
SocketAdaptor(boost::asio::io_service &io_service, context *)
Definition: socket_adaptors.h:15
bool is_open()
Definition: socket_adaptors.h:40
tcp::socket & socket()
Definition: socket_adaptors.h:30
void close()
Definition: socket_adaptors.h:45
tcp::socket socket_
Definition: socket_adaptors.h:56
tcp::endpoint remote_endpoint()
Definition: socket_adaptors.h:35
void context
Definition: socket_adaptors.h:14
tcp::socket & raw_socket()
Definition: socket_adaptors.h:25
asio::ip::tcp tcp
Definition: http_connection.h:23
json::wvalue context
Definition: mustache.h:12