6#include "fastmm/net/http_message.hpp"
7#include "fastmm/net/source_address.hpp"
8#include "fastmm/net/tls_stream.hpp"
22 std::vector<std::pair<std::string, std::string>>
headers;
26 [[nodiscard]] std::string_view
header(std::string_view name)
const noexcept {
28 if (net::iequals(k, name))
return v;
34struct BlockingHttpOptions {
52 std::string_view target,
53 std::string_view extra_headers = {},
54 std::string_view body = {});
55 HttpReply
get(std::string_view target, std::string_view extra_headers = {}) {
56 return request(
"GET", target, extra_headers);
59 [[nodiscard]]
const std::string&
base_url() const noexcept {
return base_url_; }
60 [[nodiscard]] std::string_view
host() const noexcept {
return host_; }
63 std::string base_url_;
65 std::uint16_t port_ = 0;
67 std::string base_path_;
Definition blocking_http.hpp:47
HttpReply get(std::string_view target, std::string_view extra_headers={})
Definition blocking_http.hpp:57
HttpReply request(std::string_view method, std::string_view target, std::string_view extra_headers={}, std::string_view body={})
target is the path plus query ("/api/v3/depth?symbol=BTCUSDT"); extra_headers is a pre-formatted "Nam...
const std::string & base_url() const noexcept
Definition blocking_http.hpp:61
std::string_view host() const noexcept
Definition blocking_http.hpp:62
Definition blocking_http.hpp:36
std::string ca_file
Definition blocking_http.hpp:37
std::uint32_t timeout_ms
Definition blocking_http.hpp:39
std::size_t recv_capacity
Largest response body.
Definition blocking_http.hpp:43
bool insecure_tls
Definition blocking_http.hpp:38
net::SourceAddress source
where the connection leaves this host from; empty: anywhere
Definition blocking_http.hpp:44
std::uint32_t connect_timeout_ms
Definition blocking_http.hpp:40
Definition blocking_http.hpp:21
std::string_view header(std::string_view name) const noexcept
Definition blocking_http.hpp:28
int status
Definition blocking_http.hpp:22
bool ok() const noexcept
Definition blocking_http.hpp:27
std::vector< std::pair< std::string, std::string > > headers
Definition blocking_http.hpp:24
std::string body
Definition blocking_http.hpp:23
std::string error
non-empty on transport failure (status == 0)
Definition blocking_http.hpp:25