xrpld
Loading...
Searching...
No Matches
WorkSSL.h
1#pragma once
2
3#include <xrpld/app/misc/detail/WorkBase.h>
4#include <xrpld/core/Config.h>
5
6#include <xrpl/basics/contract.h>
7#include <xrpl/net/HTTPClientSSLContext.h>
8
9#include <boost/asio/ssl.hpp>
10#include <boost/format.hpp>
11
12#include <functional>
13
14namespace xrpl::detail {
15
16// Work over SSL
17class WorkSSL : public WorkBase<WorkSSL>, public std::enable_shared_from_this<WorkSSL>
18{
19 friend class WorkBase<WorkSSL>;
20
21private:
22 using stream_type = boost::asio::ssl::stream<socket_type&>;
23
26
27public:
28 WorkSSL(
29 std::string const& host,
30 std::string const& path,
31 std::string const& port,
32 boost::asio::io_context& ios,
34 Config const& config,
35 endpoint_type const& lastEndpoint,
36 bool lastStatus,
37 callback_type cb);
38 ~WorkSSL() override = default;
39
40private:
43 {
44 return stream_;
45 }
46
47 void
48 onConnect(error_code const& ec);
49
50 void
51 onHandshake(error_code const& ec);
52};
53
54} // namespace xrpl::detail
A generic endpoint for log messages.
Definition Journal.h:38
std::function< void(error_code const &, endpoint_type const &, response_type &&)> callback_type
Definition WorkBase.h:27
boost::asio::ip::tcp::endpoint endpoint_type
Definition WorkBase.h:24
boost::system::error_code error_code
Definition WorkBase.h:23
WorkBase(std::string host, std::string path, std::string port, boost::asio::io_context &ios, endpoint_type lastEndpoint, bool lastStatus, callback_type cb)
Definition WorkBase.h:103
WorkSSL(std::string const &host, std::string const &path, std::string const &port, boost::asio::io_context &ios, beast::Journal j, Config const &config, endpoint_type const &lastEndpoint, bool lastStatus, callback_type cb)
Definition WorkSSL.cpp:21
~WorkSSL() override=default
HTTPClientSSLContext context_
Definition WorkSSL.h:24
void onConnect(error_code const &ec)
Definition WorkSSL.cpp:46
boost::asio::ssl::stream< socket_type & > stream_type
Definition WorkSSL.h:22
stream_type & stream()
Definition WorkSSL.h:42
void onHandshake(error_code const &ec)
Definition WorkSSL.cpp:62
stream_type stream_
Definition WorkSSL.h:25