From be0bccea5960b1b08a15bc58bde57ea51256e7fa Mon Sep 17 00:00:00 2001 From: Murat Seker Date: Mon, 14 Sep 2020 20:09:21 +0200 Subject: [PATCH] Return tan to API requests whenever possible (#1002) * Return tan to API requests whenever possible * Set default tan to value 0 Co-authored-by: Paulchen Panther <16664240+Paulchen-Panther@users.noreply.github.com> --- include/api/JsonAPI.h | 2 +- libsrc/api/JsonAPI.cpp | 18 ++++++++++-------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/include/api/JsonAPI.h b/include/api/JsonAPI.h index f8365554..0601415d 100644 --- a/include/api/JsonAPI.h +++ b/include/api/JsonAPI.h @@ -280,7 +280,7 @@ private: /// /// Handle an incoming JSON message of unknown type /// - void handleNotImplemented(); + void handleNotImplemented(const QString &command, int tan); /// /// Send a standard reply indicating success diff --git a/libsrc/api/JsonAPI.cpp b/libsrc/api/JsonAPI.cpp index 44ce26d7..a3b0d031 100644 --- a/libsrc/api/JsonAPI.cpp +++ b/libsrc/api/JsonAPI.cpp @@ -97,10 +97,14 @@ void JsonAPI::handleMessage(const QString &messageString, const QString &httpAut return; } + int tan = 0; + if (message.value("tan") != QJsonValue::Undefined) + tan = message["tan"].toInt(); + // check basic message if (!JsonUtils::validate(ident, message, ":schema", _log)) { - sendErrorReply("Errors during message validation, please consult the Hyperion Log."); + sendErrorReply("Errors during message validation, please consult the Hyperion Log.", "" /*command*/, tan); return; } @@ -108,12 +112,10 @@ void JsonAPI::handleMessage(const QString &messageString, const QString &httpAut const QString command = message["command"].toString(); if (!JsonUtils::validate(ident, message, QString(":schema-%1").arg(command), _log)) { - sendErrorReply("Errors during specific message validation, please consult the Hyperion Log", command); + sendErrorReply("Errors during specific message validation, please consult the Hyperion Log", command, tan); return; } - int tan = message["tan"].toInt(); - // client auth before everything else but not for http if (!_noListener && command == "authorize") { @@ -177,12 +179,12 @@ proceed: else if (command == "clearall") handleClearallCommand(message, command, tan); else if (command == "transform" || command == "correction" || command == "temperature") - sendErrorReply("The command " + command + "is deprecated, please use the Hyperion Web Interface to configure"); + sendErrorReply("The command " + command + "is deprecated, please use the Hyperion Web Interface to configure", command, tan); // END // handle not implemented commands else - handleNotImplemented(); + handleNotImplemented(command, tan); } void JsonAPI::handleColorCommand(const QJsonObject &message, const QString &command, int tan) @@ -1426,9 +1428,9 @@ void JsonAPI::handleLedDeviceCommand(const QJsonObject &message, const QString & } } -void JsonAPI::handleNotImplemented() +void JsonAPI::handleNotImplemented(const QString &command, int tan) { - sendErrorReply("Command not implemented"); + sendErrorReply("Command not implemented", command, tan); } void JsonAPI::sendSuccessReply(const QString &command, int tan)