Skip to content

Commit

Permalink
fix: fix crash for non-configure commands
Browse files Browse the repository at this point in the history
https://telecominfraproject.atlassian.net/browse/WIFI-14027

Summary of changes:
- Modified code to relay errors only in case of configure command and
  strict mode.

Signed-off-by: Ivan Chvets <[email protected]>
  • Loading branch information
i-chvets committed Aug 1, 2024
1 parent 451680c commit 5cbe74a
Showing 1 changed file with 11 additions and 7 deletions.
18 changes: 11 additions & 7 deletions src/RESTAPI/RESTAPI_RPC.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,15 @@ namespace OpenWifi::RESTAPI_RPC {
if (StorageService()->AddCommand(Cmd.SerialNumber, Cmd, Status)) {
Poco::JSON::Object RetObj;
Cmd.to_json(RetObj);
if (Handler != nullptr)
if (Handler->GetBoolParameter("strict", false) && Cmd.ErrorCode){
return Handler->ReturnObject(RetObj, Poco::Net::HTTPResponse::HTTP_BAD_REQUEST);
}
return Handler->ReturnObject(RetObj);
return;
if (Handler == nullptr) {
return;
}
if (Cmd.Command == uCentralProtocol::CONFIGURE &&
Handler->GetBoolParameter("strict", false) &&
Cmd.ErrorCode) {
return Handler->ReturnObject(RetObj, Poco::Net::HTTPResponse::HTTP_BAD_REQUEST);
}
return Handler->ReturnObject(RetObj);
}
if (Handler != nullptr)
return Handler->ReturnStatus(Poco::Net::HTTPResponse::HTTP_INTERNAL_SERVER_ERROR);
Expand Down Expand Up @@ -171,7 +174,8 @@ namespace OpenWifi::RESTAPI_RPC {
}

// If the command fails on the device we should show it as failed and not return 200 OK
if (Handler->GetBoolParameter("strict", false) && Cmd.ErrorCode) {
if (Cmd.Command == uCentralProtocol::CONFIGURE &&
Handler->GetBoolParameter("strict", false) && Cmd.ErrorCode) {
Logger.information(fmt::format(
"Command failed with error on device: {} Reason: {}.",
Cmd.ErrorCode, Cmd.ErrorText));
Expand Down

0 comments on commit 5cbe74a

Please sign in to comment.