1
0

Get http error code from curl

This commit is contained in:
Scott E. Graves
2017-02-22 14:40:46 -06:00
parent 49224162f2
commit 9eb050a141
3 changed files with 12 additions and 6 deletions

View File

@@ -56,10 +56,10 @@ SiaCurlError CSiaCurl::CheckHttpError(const std::string& result)
return SiaCurlError::Success;
}
SiaCurlError CSiaCurl::ProcessResponse(const int& res, const std::string& result, json& response) const
SiaCurlError CSiaCurl::ProcessResponse(const int& res, const int& httpCode, const std::string& result, json& response) const
{
SiaCurlError ret;
if (res == CURLE_OK)
if ((res == CURLE_OK) && (httpCode == 200))
{
ret = CheckHttpError(result);
if (ApiSuccess(ret))
@@ -98,7 +98,10 @@ SiaCurlError CSiaCurl::_Get(const String& path, json& response) const
curl_easy_setopt(_curlHandle, CURLOPT_WRITEDATA, &result);
const CURLcode res = curl_easy_perform(_curlHandle);
return ProcessResponse(res, result, response);
long httpCode = 0;
curl_easy_getinfo(_curlHandle, CURLINFO_RESPONSE_CODE, &httpCode);
return ProcessResponse(res, httpCode, result, response);
}
bool CSiaCurl::CheckVersion(SiaCurlError& error) const
@@ -170,7 +173,10 @@ SiaCurlError CSiaCurl::Post(const String& path, const PostParameters& parameters
curl_easy_setopt(_curlHandle, CURLOPT_WRITEDATA, &result);
const CURLcode res = curl_easy_perform(_curlHandle);
ret = ProcessResponse(res, result, response);
long httpCode = 0;
curl_easy_getinfo(_curlHandle, CURLINFO_RESPONSE_CODE, &httpCode);
ret = ProcessResponse(res, httpCode, result, response);
}
return ret;