#pragma once #include #include #include #include namespace utils::http { struct result { CURLcode code = CURLE_FAILED_INIT; std::string buffer; long status = 0; // Cumulative milliseconds from the start of curl_easy_perform. double dns_ms = 0; double connect_ms = 0; double tls_ms = 0; double first_byte_ms = 0; double total_ms = 0; }; struct timeouts { long connect_timeout_ms = 5000; long timeout_ms = 15000; }; using headers = std::unordered_map; std::optional get_data(const std::string& url, const std::string& fields = {}, const headers& headers = {}, const std::string& method = {}, const timeouts& limits = {}); }