#pragma once #include #include struct HttpResponse { long status_code = 0; std::string body; std::map headers; std::string error; bool ok() const { return error.empty(); } }; class HttpConnection { public: static HttpResponse get(const std::string &url, const std::map &headers = {}, long timeout_ms = 0); static HttpResponse post(const std::string &url, const std::string &body, const std::map &headers = {}, const std::string &content_type = "application/json", long timeout_ms = 0); private: static HttpResponse performRequest(const std::string &method, const std::string &url, const std::string &body, const std::map &headers, const std::string &content_type, long timeout_ms); };