18 bool operator()(
const std::string& a,
const std::string& b)
const {
21 static std::string
lower(std::string s) {
23 if (c >=
'A' && c <=
'Z') c =
static_cast<char>(c -
'A' +
'a');
29using HeaderMap = std::map<std::string, std::string, CaseInsensitiveLess>;
Wraps secret material (access tokens, mTLS private keys).
Definition sensitive.hpp:26
bool empty() const
True when no secret is held (default-constructed / empty string).
Definition sensitive.hpp:40
Definition authenticator.hpp:40
std::function< HttpResponse(const HttpRequest &)> Transport
The transport seam. Injectable; defaults to the libcurl implementation.
Definition transport.hpp:56
std::map< std::string, std::string, CaseInsensitiveLess > HeaderMap
Definition transport.hpp:29
Case-insensitive header map key comparison.
Definition transport.hpp:17
static std::string lower(std::string s)
Definition transport.hpp:21
bool operator()(const std::string &a, const std::string &b) const
Definition transport.hpp:18
An outgoing HTTP request produced by the client's request builder.
Definition transport.hpp:32
std::string method
Definition transport.hpp:33
std::string url
Definition transport.hpp:34
std::string body
Definition transport.hpp:36
HeaderMap headers
Definition transport.hpp:35
An HTTP response, or a transport failure.
Definition transport.hpp:42
std::string body
Definition transport.hpp:51
long status
Definition transport.hpp:43
HeaderMap headers
Definition transport.hpp:44
std::vector< std::string > set_cookies
Raw Set-Cookie header values, in arrival order.
Definition transport.hpp:50
std::string transport_error
Definition transport.hpp:52
Immutable TLS / mTLS material handed to the libcurl transport factory.
Definition transport.hpp:61
Sensitive< std::string > client_key_pem
Definition transport.hpp:64
long request_timeout_ms
Definition transport.hpp:66
long connect_timeout_ms
Definition transport.hpp:65
bool has_custom_ca() const
Definition transport.hpp:87
bool has_client_cert() const
Definition transport.hpp:84
std::string client_cert_pem
Definition transport.hpp:63
unsigned max_concurrent_requests
Maximum libcurl easy handles the transport keeps, i.e.
Definition transport.hpp:82
std::string custom_ca_pem
Definition transport.hpp:62