#pragma once #include // Forward curl NS_BEGIN(Sia) NS_BEGIN(Api) class AFX_EXT_CLASS CSiaCurl { public: enum class _SiaCurlError { Success, ServerVersionMismatch, InvalidRequiredVersion, NoResponse, InvalidRequestPath, UnknownFailure }; public: CSiaCurl(); public: ~CSiaCurl(); private: LPVOID _curlHandle; Property(SiaHostConfig, HostConfig, public, public) private: static _SiaCurlError CheckApiError(const json& result); private: std::string ConstructPath(const String& relativePath) const; _SiaCurlError _Get(const String& path, json& response) const; bool CheckVersion(_SiaCurlError& error) const; public: String GetServerVersion() const; _SiaCurlError Get(const String& path, json& result) const; }; typedef CSiaCurl::_SiaCurlError SiaCurlError; NS_END(2)