feat: add connect error handle to Reconclient

This commit is contained in:
chenhuijun
2024-06-19 11:04:57 +08:00
parent 69c5b14b70
commit 8ef17aee96
3 changed files with 43 additions and 0 deletions

View File

@@ -39,6 +39,10 @@ RequestResult ReconClient::CheckActive()
std::string content;
content.append("1");
auto resp = mRequest.post(mHost + STATE_URL, content, mHeaders);
if (resp.isResponsed() == false){
mErrorMessage = resp.getContent();
return RequestResult::ConnectFail(mErrorMessage);
}
if (resp.httpCode() == 200)
{
return RequestResult::Success(resp.getContent());
@@ -74,6 +78,10 @@ RequestResult ReconClient::Create(const Scan &aScan)
content.append(str);
free(str);
auto resp = mRequest.post(mHost + CREATE_URL, content, mHeaders);
if (resp.isResponsed() == false){
mErrorMessage = resp.getContent();
return RequestResult::ConnectFail(mErrorMessage);
}
if (resp.httpCode() == 200)
{
return RequestResult::Success();
@@ -95,6 +103,10 @@ RequestResult ReconClient::QueryScan(const std::string &aScanID, int &state)
content.append(str);
free(str);
auto resp = mRequest.post(mHost + QUERY_SCAN_URL, content, mHeaders);
if (resp.isResponsed() == false){
mErrorMessage = resp.getContent();
return RequestResult::ConnectFail(mErrorMessage);
}
if (resp.httpCode() == 200)
{
cJSON *scans = cJSON_Parse(resp.getContent().data());
@@ -125,6 +137,10 @@ RequestResult ReconClient::QueryVersion()
std::string content;
content.append("1");
auto resp = mRequest.post(mHost + QUERY_VERSION_URL, content, mHeaders);
if (resp.isResponsed() == false){
mErrorMessage = resp.getContent();
return RequestResult::ConnectFail(mErrorMessage);
}
if (resp.httpCode() == 200)
{
std::string version = resp.getContent();
@@ -162,6 +178,10 @@ RequestResult ReconClient::SetPACSSetting(const PACSSetting &aSetting)
content.append(str);
free(str);
auto resp = mRequest.post(mHost + SET_PACS_URL, content, mHeaders);
if (resp.isResponsed() == false){
mErrorMessage = resp.getContent();
return RequestResult::ConnectFail(mErrorMessage);
}
if (resp.httpCode() == 200)
{
return RequestResult::Success();
@@ -195,6 +215,10 @@ RequestResult ReconClient::SetMPPSSetting(const MPPSSetting &aSetting)
content.append(str);
free(str);
auto resp = mRequest.post(mHost + SET_MPPS_URL, content, mHeaders);
if (resp.isResponsed() == false){
mErrorMessage = resp.getContent();
return RequestResult::ConnectFail(mErrorMessage);
}
if (resp.httpCode() == 200)
{
return RequestResult::Success();

View File

@@ -22,6 +22,11 @@ bool RequestResult::bad()
return !mSuccess;
}
bool RequestResult::isConnectFailure()
{
return mConnectError;
}
std::string RequestResult::error()
{
return mError;
@@ -34,6 +39,7 @@ std::string RequestResult::message()
RequestResult RequestResult::Success(const std::string& aMessage)
{
RequestResult r;
r.mConnectError = false;
r.becomeGood(aMessage);
return r;
}
@@ -41,6 +47,15 @@ RequestResult RequestResult::Success(const std::string& aMessage)
RequestResult RequestResult::Fail(const std::string& aMessage)
{
RequestResult r;
r.mConnectError = false;
r.becomeBad(aMessage);
return r;
}
RequestResult RequestResult::ConnectFail(const std::string& aMessage)
{
RequestResult r;
r.mConnectError = true;
r.becomeBad(aMessage);
return r;
}

View File

@@ -6,6 +6,8 @@ class RequestResult
public:
static RequestResult Success(const std::string& aMessage= std::string());
static RequestResult Fail(const std::string& aMessage);
static RequestResult ConnectFail(const std::string& aMessage);
RequestResult()=default;
RequestResult(RequestResult &&) = default;
@@ -16,6 +18,7 @@ public:
bool good();
bool bad();
bool isConnectFailure();
std::string message();
std::string error();
@@ -24,6 +27,7 @@ private:
std::string mMessage;
std::string mError;
bool mSuccess;
bool mConnectError;
void becomeGood(const std::string& aMessage );
void becomeBad(const std::string& aMessage);