Clio develop
The XRP Ledger API server.
|
Builder for HTTP requests. More...
#include <RequestBuilder.hpp>
Public Member Functions | |
RequestBuilder (std::string host, std::string port) | |
Construct a new Request Builder object. | |
RequestBuilder & | addHeader (HttpHeader const &header) |
Add a header to the request. | |
RequestBuilder & | addHeaders (std::vector< HttpHeader > const &headers) |
Add headers to the request. | |
RequestBuilder & | addData (std::string data) |
Add body or data to the request. | |
RequestBuilder & | setTimeout (std::chrono::milliseconds timeout) |
Set the timeout for the request. | |
RequestBuilder & | setTarget (std::string_view target) |
Set the target for the request. | |
std::expected< std::string, RequestError > | getSsl (boost::asio::yield_context yield) |
Perform a GET request with SSL asynchronously. | |
std::expected< std::string, RequestError > | getPlain (boost::asio::yield_context yield) |
Perform a GET request without SSL asynchronously. | |
std::expected< std::string, RequestError > | get (boost::asio::yield_context yield) |
Perform a GET request asynchronously. The SSL will be used first, if it fails, the plain connection will be used. | |
std::expected< std::string, RequestError > | postSsl (boost::asio::yield_context yield) |
Perform a POST request with SSL asynchronously. | |
std::expected< std::string, RequestError > | postPlain (boost::asio::yield_context yield) |
Perform a POST request without SSL asynchronously. | |
std::expected< std::string, RequestError > | post (boost::asio::yield_context yield) |
Perform a POST request asynchronously. The SSL will be used first, if it fails, the plain connection will be used. | |
template<typename StreamDataType > | |
std::expected< std::string, RequestError > | doRequestImpl (StreamDataType &&streamData, asio::yield_context yield, http::verb const method) |
Perform a request asynchronously. | |
Static Public Attributes | |
static constexpr std::chrono::milliseconds | kDEFAULT_TIMEOUT {30000} |
Builder for HTTP requests.
util::requests::RequestBuilder::RequestBuilder | ( | std::string | host, |
std::string | port ) |
Construct a new Request Builder object.
host | host to connect to |
port | port to connect to |
RequestBuilder & util::requests::RequestBuilder::addData | ( | std::string | data | ) |
Add body or data to the request.
data | data to add |
RequestBuilder & util::requests::RequestBuilder::addHeader | ( | HttpHeader const & | header | ) |
Add a header to the request.
header | header to add |
RequestBuilder & util::requests::RequestBuilder::addHeaders | ( | std::vector< HttpHeader > const & | headers | ) |
Add headers to the request.
headers | headers to add |
std::expected< std::string, RequestError > util::requests::RequestBuilder::doRequestImpl | ( | StreamDataType && | streamData, |
asio::yield_context | yield, | ||
http::verb const | method ) |
Perform a request asynchronously.
StreamDataType | The type of the stream data |
streamData | The stream data |
yield | The coroutine context |
method | The HTTP method to use |
std::expected< std::string, RequestError > util::requests::RequestBuilder::get | ( | boost::asio::yield_context | yield | ) |
Perform a GET request asynchronously. The SSL will be used first, if it fails, the plain connection will be used.
yield | yield context |
std::expected< std::string, RequestError > util::requests::RequestBuilder::getPlain | ( | boost::asio::yield_context | yield | ) |
Perform a GET request without SSL asynchronously.
yield | yield context |
std::expected< std::string, RequestError > util::requests::RequestBuilder::getSsl | ( | boost::asio::yield_context | yield | ) |
Perform a GET request with SSL asynchronously.
yield | yield context |
std::expected< std::string, RequestError > util::requests::RequestBuilder::post | ( | boost::asio::yield_context | yield | ) |
Perform a POST request asynchronously. The SSL will be used first, if it fails, the plain connection will be used.
yield | yield context |
std::expected< std::string, RequestError > util::requests::RequestBuilder::postPlain | ( | boost::asio::yield_context | yield | ) |
Perform a POST request without SSL asynchronously.
yield | yield context |
std::expected< std::string, RequestError > util::requests::RequestBuilder::postSsl | ( | boost::asio::yield_context | yield | ) |
Perform a POST request with SSL asynchronously.
yield | yield context |
RequestBuilder & util::requests::RequestBuilder::setTarget | ( | std::string_view | target | ) |
Set the target for the request.
target | target to set |
RequestBuilder & util::requests::RequestBuilder::setTimeout | ( | std::chrono::milliseconds | timeout | ) |
Set the timeout for the request.
timeout | timeout to set |
|
staticconstexpr |
Default timeout for requests