105 explicit http_client(std::chrono::milliseconds timeout_ms);
119 auto get(
const std::string& url,
120 const std::map<std::string, std::string>&
query = {},
121 const std::map<std::string, std::string>& headers = {})
131 auto post(
const std::string& url,
132 const std::string& body,
133 const std::map<std::string, std::string>& headers = {})
134 -> Result<internal::http_response>;
143 auto post(
const std::string& url,
144 const std::vector<uint8_t>& body,
145 const std::map<std::string, std::string>& headers = {})
146 -> Result<internal::http_response>;
155 auto put(
const std::string& url,
156 const std::string& body,
157 const std::map<std::string, std::string>& headers = {})
158 -> Result<internal::http_response>;
166 auto del(
const std::string& url,
167 const std::map<std::string, std::string>& headers = {})
168 -> Result<internal::http_response>;
176 auto head(
const std::string& url,
177 const std::map<std::string, std::string>& headers = {})
178 -> Result<internal::http_response>;
187 auto patch(
const std::string& url,
188 const std::string& body,
189 const std::map<std::string, std::string>& headers = {})
190 -> Result<internal::http_response>;
196 auto set_timeout(std::chrono::milliseconds timeout_ms) -> void;
202 auto get_timeout() const -> std::chrono::milliseconds;
214 auto request(internal::http_method method,
215 const std::
string& url,
216 const std::vector<uint8_t>& body,
217 const std::map<std::
string, std::
string>& headers,
218 const std::map<std::
string, std::
string>&
query)
219 -> Result<internal::http_response>;
229 auto build_request(internal::http_method method,
230 const http_url& url_info,
231 const std::vector<uint8_t>& body,
232 const std::map<std::
string, std::
string>& headers)
233 -> internal::http_request;
235 std::chrono::milliseconds timeout_;