1#ifndef XRPL_NET_HTTPCLIENT_H_INCLUDED
2#define XRPL_NET_HTTPCLIENT_H_INCLUDED
4#include <xrpl/basics/ByteUtilities.h>
5#include <xrpl/beast/utility/Journal.h>
7#include <boost/asio/io_context.hpp>
8#include <boost/asio/streambuf.hpp>
35 boost::asio::io_context& io_context,
37 unsigned short const port,
42 boost::system::error_code
const& ecResult,
49 boost::asio::io_context& io_context,
51 unsigned short const port,
56 boost::system::error_code
const& ecResult,
64 boost::asio::io_context& io_context,
66 unsigned short const port,
68 void(boost::asio::streambuf& sb,
std::string const& strHost)> build,
72 boost::system::error_code
const& ecResult,
A generic endpoint for log messages.
Provides an asynchronous HTTP client implementation with optional SSL.
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 void initializeSSLContext(std::string const &sslVerifyDir, std::string const &sslVerifyFile, bool sslVerify, beast::Journal j)
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 constexpr auto maxClientHeaderBytes
Use hash_* containers for keys that do not need a cryptographically secure hashing algorithm.
constexpr auto kilobytes(T value) noexcept