xrpld
Loading...
Searching...
No Matches
xrpl::HTTPClient Class Reference

Provides an asynchronous HTTP client implementation with optional SSL. More...

#include <HTTPClient.h>

Inheritance diagram for xrpl::HTTPClient:

Public Member Functions

 HTTPClient ()=default

Static Public Member Functions

static void initializeSSLContext (std::string const &sslVerifyDir, std::string const &sslVerifyFile, bool sslVerify, beast::Journal j)
static void cleanupSSLContext ()
 Destroys the global SSL context created by initializeSSLContext().
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)
static void get (bool bSSL, boost::asio::io_context &ioContext, std::string strSite, 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)
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)

Static Public Attributes

static constexpr auto kMaxClientHeaderBytes = kilobytes(32)

Detailed Description

Provides an asynchronous HTTP client implementation with optional SSL.

Definition at line 18 of file HTTPClient.h.

Constructor & Destructor Documentation

◆ HTTPClient()

xrpl::HTTPClient::HTTPClient ( )
explicitdefault

Member Function Documentation

◆ initializeSSLContext()

void xrpl::HTTPClient::initializeSSLContext ( std::string const & sslVerifyDir,
std::string const & sslVerifyFile,
bool sslVerify,
beast::Journal j )
static

Definition at line 39 of file libxrpl/net/HTTPClient.cpp.

◆ cleanupSSLContext()

void xrpl::HTTPClient::cleanupSSLContext ( )
static

Destroys the global SSL context created by initializeSSLContext().

This releases the underlying boost::asio::ssl::context and any associated OpenSSL resources. Must not be called while any HTTPClient requests are in flight.

Note
Currently only called from tests during teardown. In production, the SSL context lives for the lifetime of the process.

Definition at line 49 of file libxrpl/net/HTTPClient.cpp.

◆ get() [1/2]

void xrpl::HTTPClient::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 )
static

Definition at line 544 of file libxrpl/net/HTTPClient.cpp.

◆ get() [2/2]

void xrpl::HTTPClient::get ( bool bSSL,
boost::asio::io_context & ioContext,
std::string strSite,
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 )
static

Definition at line 562 of file libxrpl/net/HTTPClient.cpp.

◆ request()

void xrpl::HTTPClient::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 )
static

Definition at line 582 of file libxrpl/net/HTTPClient.cpp.

Member Data Documentation

◆ kMaxClientHeaderBytes

auto xrpl::HTTPClient::kMaxClientHeaderBytes = kilobytes(32)
staticconstexpr

Definition at line 23 of file HTTPClient.h.