diff options
author | eidheim <eidheim@gmail.com> | 2017-06-28 11:57:29 +0300 |
---|---|---|
committer | eidheim <eidheim@gmail.com> | 2017-06-28 11:57:29 +0300 |
commit | 1418c0e7b818c63b68837944ab5a624f56072ee3 (patch) | |
tree | dfd04070f900d368e46a3e608a0e6a47f97c4843 /client_wss.hpp | |
parent | 2f42ae53b083983f99c7321636effd32e13f6f9b (diff) |
Added .clang-format file and applied style to source files
Diffstat (limited to 'client_wss.hpp')
-rw-r--r-- | client_wss.hpp | 122 |
1 files changed, 59 insertions, 63 deletions
diff --git a/client_wss.hpp b/client_wss.hpp index 8b736c0..6c7313d 100644 --- a/client_wss.hpp +++ b/client_wss.hpp @@ -1,5 +1,5 @@ #ifndef CLIENT_WSS_HPP -#define CLIENT_WSS_HPP +#define CLIENT_WSS_HPP #include "client_ws.hpp" @@ -11,69 +11,65 @@ namespace SimpleWeb { - typedef asio::ssl::stream<asio::ip::tcp::socket> WSS; - - template<> - class SocketClient<WSS> : public SocketClientBase<WSS> { - public: - SocketClient(const std::string& server_port_path, bool verify_certificate=true, - const std::string& cert_file=std::string(), const std::string& private_key_file=std::string(), - const std::string& verify_file=std::string()) : - SocketClientBase<WSS>::SocketClientBase(server_port_path, 443), - context(asio::ssl::context::tlsv12) { - if(cert_file.size()>0 && private_key_file.size()>0) { - context.use_certificate_chain_file(cert_file); - context.use_private_key_file(private_key_file, asio::ssl::context::pem); - } - - if(verify_certificate) - context.set_verify_callback(asio::ssl::rfc2818_verification(host)); - - if(verify_file.size()>0) - context.load_verify_file(verify_file); - else - context.set_default_verify_paths(); - - if(verify_file.size()>0 || verify_certificate) - context.set_verify_mode(asio::ssl::verify_peer); - else - context.set_verify_mode(asio::ssl::verify_none); - }; + typedef asio::ssl::stream<asio::ip::tcp::socket> WSS; + + template <> + class SocketClient<WSS> : public SocketClientBase<WSS> { + public: + SocketClient(const std::string &server_port_path, bool verify_certificate = true, + const std::string &cert_file = std::string(), const std::string &private_key_file = std::string(), + const std::string &verify_file = std::string()) + : SocketClientBase<WSS>::SocketClientBase(server_port_path, 443), context(asio::ssl::context::tlsv12) { + if(cert_file.size() > 0 && private_key_file.size() > 0) { + context.use_certificate_chain_file(cert_file); + context.use_private_key_file(private_key_file, asio::ssl::context::pem); + } + + if(verify_certificate) + context.set_verify_callback(asio::ssl::rfc2818_verification(host)); + + if(verify_file.size() > 0) + context.load_verify_file(verify_file); + else + context.set_default_verify_paths(); + + if(verify_file.size() > 0 || verify_certificate) + context.set_verify_mode(asio::ssl::verify_peer); + else + context.set_verify_mode(asio::ssl::verify_none); + }; - protected: - asio::ssl::context context; - - void connect() { - asio::ip::tcp::resolver::query query(host, std::to_string(port)); - - resolver->async_resolve(query, [this] - (const error_code &ec, asio::ip::tcp::resolver::iterator it){ - if(!ec) { - connection=std::shared_ptr<Connection>(new Connection(new WSS(*io_service, context))); - - asio::async_connect(connection->socket->lowest_layer(), it, [this] - (const error_code &ec, asio::ip::tcp::resolver::iterator /*it*/){ - if(!ec) { - asio::ip::tcp::no_delay option(true); - connection->socket->lowest_layer().set_option(option); - - connection->socket->async_handshake(asio::ssl::stream_base::client, - [this](const error_code& ec) { - if(!ec) - handshake(); - else if(on_error) - on_error(ec); - }); - } - else if(on_error) - on_error(ec); - }); - } + protected: + asio::ssl::context context; + + void connect() { + asio::ip::tcp::resolver::query query(host, std::to_string(port)); + + resolver->async_resolve(query, [this](const error_code &ec, asio::ip::tcp::resolver::iterator it) { + if(!ec) { + connection = std::shared_ptr<Connection>(new Connection(new WSS(*io_service, context))); + + asio::async_connect(connection->socket->lowest_layer(), it, [this](const error_code &ec, asio::ip::tcp::resolver::iterator /*it*/) { + if(!ec) { + asio::ip::tcp::no_delay option(true); + connection->socket->lowest_layer().set_option(option); + + connection->socket->async_handshake(asio::ssl::stream_base::client, [this](const error_code &ec) { + if(!ec) + handshake(); else if(on_error) - on_error(ec); - }); + on_error(ec); + }); + } + else if(on_error) + on_error(ec); + }); } - }; -} + else if(on_error) + on_error(ec); + }); + } + }; +} // namespace SimpleWeb -#endif /* CLIENT_WSS_HPP */
\ No newline at end of file +#endif /* CLIENT_WSS_HPP */
\ No newline at end of file |