rippled
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
xrpl::HTTPClient Class Reference

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

#include <HTTPClient.h>

Inheritance diagram for xrpl::HTTPClient:
Inheritance graph
[legend]

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 &io_context, 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 &j)
 
static void get (bool bSSL, boost::asio::io_context &io_context, 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 &j)
 
static void request (bool bSSL, boost::asio::io_context &io_context, 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 &j)
 

Static Public Attributes

static constexpr auto maxClientHeaderBytes = 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 20 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 30 of file libxrpl/net/HTTPClient.cpp.

◆ get() [1/2]

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

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

◆ get() [2/2]

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

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

◆ request()

void xrpl::HTTPClient::request ( bool  bSSL,
boost::asio::io_context &  io_context,
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 j 
)
static

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

Member Data Documentation

◆ maxClientHeaderBytes

constexpr auto xrpl::HTTPClient::maxClientHeaderBytes = kilobytes(32)
staticconstexpr

Definition at line 23 of file HTTPClient.h.