1
0
This repository has been archived on 2025-07-27. You can view files and clone it, but cannot push or open issues or pull requests.
Files
siadrive/SiaDrive.Api/SiaCurl.h
Scott E. Graves 25eae58a5c Unit test support
2017-02-03 14:01:00 -06:00

50 lines
815 B
C++

#pragma once
#include <SiaCommon.h>
// 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)