2 #include "nlohmann/json.hpp"
7 namespace horizon::HTTP {
9 friend size_t read_callback(
void *ptr,
size_t size,
size_t nmemb,
void *userp);
13 void set_auth(
const std::string &user,
const std::string &passwd);
14 void set_timeout(
int timeout);
15 void append_header(
const char *header);
16 void append_header(
const std::string &header)
18 append_header(header.c_str());
21 using ResponseHeaders = std::list<std::string>;
23 std::string get(
const std::string &url);
24 std::string post(
const std::string &url,
const std::string &postdata =
"");
25 std::string post_form(
const std::string &url,
const std::vector<std::pair<std::string, std::string>> &fields);
26 const ResponseHeaders &get_response_headers()
const
28 return headers_received;
35 curl_slist *header_list =
nullptr;
36 char errbuf[CURL_ERROR_SIZE];
43 const char *readptr =
nullptr;
46 PostBuffer post_buffer;
47 ResponseHeaders headers_received;
56 json get(
const std::string &url);
57 json post(
const std::string &url,
const json &postdata =
json());
60 const std::string base_url;
Definition: http_client.hpp:8
Definition: http_client.hpp:52
a class to store JSON values
Definition: json.hpp:177
basic_json<> json
default JSON class
Definition: json_fwd.hpp:62