28 #ifndef WEBSOCKETPP_CLIENT_ENDPOINT_HPP
29 #define WEBSOCKETPP_CLIENT_ENDPOINT_HPP
31 #include <websocketpp/endpoint.hpp>
32 #include <websocketpp/uri.hpp>
34 #include <websocketpp/logger/levels.hpp>
36 #include <websocketpp/common/system_error.hpp>
46 template <
typename config>
70 friend class connection<
config>;
72 explicit client() : endpoint_type(
false)
74 endpoint_type::m_alog->write(log::alevel::devel,
"client constructor");
90 if (location->get_secure() && !transport_type::is_secure()) {
91 ec = error::make_error_code(error::endpoint_not_secure);
92 return connection_ptr();
95 connection_ptr con = endpoint_type::create_connection();
98 ec = error::make_error_code(error::con_creation_failed);
102 con->set_uri(location);
104 ec = lib::error_code();
120 uri_ptr location = lib::make_shared<uri>(u);
122 if (!location->get_valid()) {
123 ec = error::make_error_code(error::invalid_uri);
124 return connection_ptr();
127 return get_connection(location, ec);
141 transport_type::async_connect(
142 lib::static_pointer_cast<transport_con_type>(con),
145 &type::handle_connect,
148 lib::placeholders::_1
156 void handle_connect(connection_ptr con, lib::error_code
const & ec) {
160 endpoint_type::m_elog->write(log::elevel::rerror,
161 "handle_connect error: "+ec.message());
163 endpoint_type::m_alog->write(log::alevel::connect,
164 "Successful connection");