X-Git-Url: https://git.teslayout.com/public/public/public/?p=anna.git;a=blobdiff_plain;f=example%2Fdiameter%2Flauncher%2FMyHandler.cpp;h=908658292f25c0fc9ced36431ba4e4414336344b;hp=d2433c83a082115a62994b49a07c1d07c016ee48;hb=8a597c7ccbe2986f505fd70258e4b59ecef4166f;hpb=3753f8bd8025131cc0b62da8942daefc376c1c46 diff --git a/example/diameter/launcher/MyHandler.cpp b/example/diameter/launcher/MyHandler.cpp index d2433c8..9086582 100644 --- a/example/diameter/launcher/MyHandler.cpp +++ b/example/diameter/launcher/MyHandler.cpp @@ -368,31 +368,6 @@ bool MyHandler::doPOST(const std::string &uri, const nlohmann::json &j, std::str auto it = j.find("condition"); if (it != j.end() && it->is_object()) { -/* - auto j2 = it->get(); - - // [code]|[bitR]|[hopByHop]|[applicationId]|[sessionId]|[resultCode]|[msisdn]|[imsi]|[serviceContextId] - auto it_code = j2.find("code"); - auto it_bitR = j2.find("bitR"); - auto it_hopByHop = j2.find("hopByHop"); - auto it_applicationId = j2.find("applicationId"); - auto it_sessionId = j2.find("sessionId"); - auto it_resultCode = j2.find("resultCode"); - auto it_msisdn = j2.find("msisdn"); - auto it_imsi = j2.find("imsi"); - auto it_serviceContextId = j2.find("serviceContextId"); - - std::string p1 = (it_code != j2.end() && it_code->is_string()) ? *it_code : ""; - std::string p2 = (it_bitR != j2.end() && it_bitR->is_string()) ? *it_bitR : ""; - std::string p3 = (it_hopByHop != it->end() && it_hopByHop->is_string()) ? *it_hopByHop : ""; - std::string p4 = (it_applicationId != it->end() && it_applicationId->is_string()) ? *it_applicationId : ""; - std::string p5 = (it_sessionId != it->end() && it_sessionId->is_string()) ? *it_sessionId : ""; - std::string p6 = (it_resultCode != it->end() && it_resultCode->is_string()) ? *it_resultCode : ""; - std::string p7 = (it_msisdn != it->end() && it_msisdn->is_string()) ? *it_msisdn : ""; - std::string p8 = (it_imsi != it->end() && it_imsi->is_string()) ? *it_imsi : ""; - std::string p9 = (it_serviceContextId != it->end() && it_serviceContextId->is_string()) ? *it_serviceContextId : ""; -*/ - // [code]|[bitR]|[hopByHop]|[applicationId]|[sessionId]|[resultCode]|[msisdn]|[imsi]|[serviceContextId] auto it_code = it->find("code"); auto it_bitR = it->find("bitR"); @@ -561,6 +536,16 @@ bool MyHandler::doPOST(const std::string &uri, const nlohmann::json &j, std::str response += "invalid 'action' string field (allowed: enable|disable)"; } + // Dynamic procedure + else if ((opType == "/dynamic")) { + auto it = j.find("arguments"); + if (it != j.end() && it->is_object()) { + result = eop.test__dynamic(response, *it); + } + else + response += "missing 'arguments' object field"; + } + return result; }