xrpld
Toggle main menu visibility
Loading...
Searching...
No Matches
include
xrpl
net
HTTPClient.h
1
#pragma once
2
3
#include <xrpl/basics/ByteUtilities.h>
4
#include <xrpl/beast/utility/Journal.h>
5
6
#include <boost/asio/io_context.hpp>
7
#include <boost/asio/streambuf.hpp>
8
9
#include <
chrono
>
10
#include <
cstddef
>
11
#include <
deque
>
12
#include <
functional
>
13
#include <
string
>
14
15
namespace
xrpl
{
16
20
class
HTTPClient
21
{
22
public
:
23
explicit
HTTPClient
() =
default
;
24
25
static
constexpr
auto
kMaxClientHeaderBytes
=
kilobytes
(32);
26
27
static
void
28
initializeSSLContext
(
29
std::string
const
& sslVerifyDir,
30
std::string
const
& sslVerifyFile,
31
bool
sslVerify,
32
beast::Journal
j);
33
44
static
void
45
cleanupSSLContext
();
46
47
static
void
48
get
(
bool
bSSL,
49
boost::asio::io_context& ioContext,
50
std::deque<std::string>
deqSites,
51
unsigned
short
const
port,
52
std::string
const
& strPath,
53
std::size_t
responseMax,
// if no Content-Length header
54
std::chrono::seconds
timeout,
55
std::function
<
bool
(
56
boost::system::error_code
const
& ecResult,
57
int
iStatus,
58
std::string
const
& strData)> complete,
59
beast::Journal
const
& j);
60
61
static
void
62
get
(
bool
bSSL,
63
boost::asio::io_context& ioContext,
64
std::string
strSite,
65
unsigned
short
const
port,
66
std::string
const
& strPath,
67
std::size_t
responseMax,
// if no Content-Length header
68
std::chrono::seconds
timeout,
69
std::function
<
bool
(
70
boost::system::error_code
const
& ecResult,
71
int
iStatus,
72
std::string
const
& strData)> complete,
73
beast::Journal
const
& j);
74
75
static
void
76
request
(
77
bool
bSSL,
78
boost::asio::io_context& ioContext,
79
std::string
strSite,
80
unsigned
short
const
port,
81
std::function
<
void
(boost::asio::streambuf& sb,
std::string
const
& strHost)> build,
82
std::size_t
responseMax,
// if no Content-Length header
83
std::chrono::seconds
timeout,
84
std::function
<
bool
(
85
boost::system::error_code
const
& ecResult,
86
int
iStatus,
87
std::string
const
& strData)> complete,
88
beast::Journal
const
& j);
89
};
90
91
}
// namespace xrpl
std::string
chrono
beast::Journal
A generic endpoint for log messages.
Definition
Journal.h:44
xrpl::HTTPClient::initializeSSLContext
static void initializeSSLContext(std::string const &sslVerifyDir, std::string const &sslVerifyFile, bool sslVerify, beast::Journal j)
Definition
libxrpl/net/HTTPClient.cpp:39
xrpl::HTTPClient::kMaxClientHeaderBytes
static constexpr auto kMaxClientHeaderBytes
Definition
HTTPClient.h:25
xrpl::HTTPClient::cleanupSSLContext
static void cleanupSSLContext()
Destroys the global SSL context created by initializeSSLContext().
Definition
libxrpl/net/HTTPClient.cpp:49
xrpl::HTTPClient::request
static void request(bool bSSL, boost::asio::io_context &ioContext, std::string strSite, unsigned short const port, std::function< void(boost::asio::streambuf &sb, std::string const &strHost)> build, std::size_t responseMax, std::chrono::seconds timeout, std::function< bool(boost::system::error_code const &ecResult, int iStatus, std::string const &strData)> complete, beast::Journal const &j)
Definition
libxrpl/net/HTTPClient.cpp:579
xrpl::HTTPClient::get
static void get(bool bSSL, boost::asio::io_context &ioContext, std::deque< std::string > deqSites, unsigned short const port, std::string const &strPath, std::size_t responseMax, std::chrono::seconds timeout, std::function< bool(boost::system::error_code const &ecResult, int iStatus, std::string const &strData)> complete, beast::Journal const &j)
Definition
libxrpl/net/HTTPClient.cpp:541
xrpl::HTTPClient::HTTPClient
HTTPClient()=default
cstddef
deque
std::chrono::seconds
std::function
functional
xrpl
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
Definition
algorithm.h:5
xrpl::kilobytes
constexpr auto kilobytes(T value) noexcept
Definition
ByteUtilities.h:7
std::size_t
string
Generated by
1.17.0