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

View File

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

View File

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