#pragma once #include "util.hpp" #include #include #include #include namespace WebStat { class CurlError : public std::runtime_error { public: explicit CurlError(CURLcode code, const char * msg) : std::runtime_error {msg}, code(code) { } CURLcode code; }; using CurlPtr = std::unique_ptr>; using CurlMimePtr = std::unique_ptr>; using CurlErrorBuf = std::array; class CurlOperation { public: CurlOperation(); void addForm(const char * name, std::string_view data); CurlPtr hnd; CurlMimePtr mime; CurlErrorBuf err; std::string result; }; std::unique_ptr curlGetUserAgentDetail( std::string_view uas, const char * baseUrl = "https://useragentstring.com"); }