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 20 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 541 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 559 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 579 of file libxrpl/net/HTTPClient.cpp.

Member Data Documentation

◆ kMaxClientHeaderBytes

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

Definition at line 25 of file HTTPClient.h.