Fixes for triggers

This commit is contained in:
Thulinma 2017-05-13 15:18:21 +02:00
parent 492dcd03f5
commit 0798a6c712
2 changed files with 16 additions and 2 deletions

View file

@ -257,6 +257,20 @@ void Controller::handleAPICommands(JSON::Value & Request, JSON::Value & Response
if (in.isMember("serverid")){
out["serverid"] = in["serverid"];
}
if (in.isMember("triggers")){
out["triggers"] = in["triggers"];
if (!out["triggers"].isObject()){
out.removeMember("triggers");
}else{
jsonForEach(out["triggers"], it){
if (it->isArray()){
jsonForEach((*it), jt){
jt->removeNullMembers();
}
}
}
}
}
if (in.isMember("accesslog")){
out["accesslog"] = in["accesslog"];
Controller::accesslog = out["accesslog"].asStringRef();

View file

@ -200,7 +200,7 @@ namespace Controller{
}
if (triggIt->isObject()){
if (!triggIt->isMember("handler")){continue;}
if (!triggIt->isMember("handler") || (*triggIt)["handler"].isNull()){continue;}
tPage.setString("url", (*triggIt)["handler"].asStringRef(), i);
tPage.setInt("sync", ((*triggIt)["sync"].asBool() ? 1 : 0), i);
char *strmP = tPage.getPointer("streams", i);
@ -216,7 +216,7 @@ namespace Controller{
if (namesArray.size()){memcpy(strmP, namesArray.data(), std::min(namesArray.size(), (size_t)256));}
}
}
if (triggIt->isMember("params")){
if (triggIt->isMember("params") && !(*triggIt)["params"].isNull()){
tPage.setString("params", (*triggIt)["params"].asStringRef(), i);
}else{
tPage.setString("params", "", i);