7 #include <boost/optional/optional.hpp>
8 #include <boost/thread/mutex.hpp>
9 #include <boost/utility/string_ref.hpp>
11 #include "net/http_client.h"
12 #include "storages/http_abstract_invoke.h"
23 std::function<std::map<std::string, bool>()> get_public_nodes,
24 bool rpc_payment_enabled);
27 boost::optional<epee::net_utils::http::login> credentials,
28 bool rpc_payment_enabled);
30 std::string
address()
const noexcept;
31 boost::optional<std::pair<uint64_t, uint64_t>>
get_height();
34 template <
class t_request,
class t_response>
35 bool invoke_http_json(
const boost::string_ref uri,
const t_request &out_struct, t_response &result_struct)
42 const bool result = epee::net_utils::invoke_http_json(uri, out_struct, result_struct,
m_http_client);
46 template <
class t_request,
class t_response>
47 bool invoke_http_bin(
const boost::string_ref uri,
const t_request &out_struct, t_response &result_struct)
54 const bool result = epee::net_utils::invoke_http_bin(uri, out_struct, result_struct,
m_http_client);
58 template <
class t_request,
class t_response>
59 bool invoke_http_json_rpc(
const boost::string_ref command_name,
const t_request &out_struct, t_response &result_struct)
66 const bool result = epee::net_utils::invoke_http_json_rpc(
68 std::string(command_name.begin(), command_name.end()),
76 bool set_server(
const std::string &
address,
const boost::optional<epee::net_utils::http::login> &credentials = boost::none);
82 const std::unique_ptr<bootstrap_node::selector>
m_selector;
Definition: bootstrap_daemon.h:20
bool switch_server_if_needed()
Definition: bootstrap_daemon.cpp:94
bool invoke_http_json_rpc(const boost::string_ref command_name, const t_request &out_struct, t_response &result_struct)
Definition: bootstrap_daemon.h:59
boost::mutex m_selector_mutex
Definition: bootstrap_daemon.h:83
bool invoke_http_json(const boost::string_ref uri, const t_request &out_struct, t_response &result_struct)
Definition: bootstrap_daemon.h:35
const bool m_rpc_payment_enabled
Definition: bootstrap_daemon.h:81
bool set_server(const std::string &address, const boost::optional< epee::net_utils::http::login > &credentials=boost::none)
Definition: bootstrap_daemon.cpp:81
boost::optional< std::pair< uint64_t, uint64_t > > get_height()
Definition: bootstrap_daemon.cpp:48
std::string address() const noexcept
Definition: bootstrap_daemon.cpp:38
bool handle_result(bool success, const std::string &status)
Definition: bootstrap_daemon.cpp:66
bootstrap_daemon(std::function< std::map< std::string, bool >()> get_public_nodes, bool rpc_payment_enabled)
Definition: bootstrap_daemon.cpp:17
bool invoke_http_bin(const boost::string_ref uri, const t_request &out_struct, t_response &result_struct)
Definition: bootstrap_daemon.h:47
epee::net_utils::http::http_simple_client m_http_client
Definition: bootstrap_daemon.h:80
const std::unique_ptr< bootstrap_node::selector > m_selector
Definition: bootstrap_daemon.h:82
expect< void > success() noexcept
Definition: expect.h:397
Holds cryptonote related classes and helpers.
Definition: blockchain_db.cpp:45