From 3dd7fe5d4a4e3ed7b0a7c6454142c7378885bdfa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Lepin?= Date: Fri, 19 Apr 2019 19:00:52 +0200 Subject: [PATCH] requests + events: log message to INFO instead of DEBUG and slightly refactor the request handler --- src/WSEvents.cpp | 5 +++-- src/WSRequestHandler.cpp | 21 ++++++++++++++++----- src/WSRequestHandler.h | 4 +++- src/WSServer.cpp | 8 +------- 4 files changed, 23 insertions(+), 15 deletions(-) diff --git a/src/WSEvents.cpp b/src/WSEvents.cpp index ca3d496d..4bbf40d1 100644 --- a/src/WSEvents.cpp +++ b/src/WSEvents.cpp @@ -224,8 +224,9 @@ void WSEvents::broadcastUpdate(const char* updateType, QString json = obs_data_get_json(update); _srv->broadcast(json.toStdString()); - if (Config::Current()->DebugEnabled) - blog(LOG_DEBUG, "Update << '%s'", json.toUtf8().constData()); + if (Config::Current()->DebugEnabled) { + blog(LOG_INFO, "Update << '%s'", json.toUtf8().constData()); + } } void WSEvents::hookTransitionBeginEvent() { diff --git a/src/WSRequestHandler.cpp b/src/WSRequestHandler.cpp index 3e396c7a..fbf66936 100644 --- a/src/WSRequestHandler.cpp +++ b/src/WSRequestHandler.cpp @@ -139,7 +139,22 @@ WSRequestHandler::WSRequestHandler(QVariantHash& connProperties) : { } -obs_data_t* WSRequestHandler::processIncomingMessage(std::string& textMessage) { +std::string WSRequestHandler::processIncomingMessage(std::string& textMessage) { + if (Config::Current()->DebugEnabled) { + blog(LOG_INFO, "Request >> '%s'", textMessage.c_str()); + } + + OBSDataAutoRelease responseData = processRequest(textMessage); + std::string response = obs_data_get_json(responseData); + + if (Config::Current()->DebugEnabled) { + blog(LOG_INFO, "Response << '%s'", response.c_str()); + } + + return response; +} + +HandlerResponse WSRequestHandler::processRequest(std::string& textMessage){ std::string msgContainer(textMessage); const char* msg = msgContainer.c_str(); @@ -149,10 +164,6 @@ obs_data_t* WSRequestHandler::processIncomingMessage(std::string& textMessage) { return SendErrorResponse("invalid JSON payload"); } - if (Config::Current()->DebugEnabled) { - blog(LOG_DEBUG, "Request >> '%s'", msg); - } - if (!hasField("request-type") || !hasField("message-id")) { return SendErrorResponse("missing request parameters"); } diff --git a/src/WSRequestHandler.h b/src/WSRequestHandler.h index 97e562c8..460785d5 100644 --- a/src/WSRequestHandler.h +++ b/src/WSRequestHandler.h @@ -36,7 +36,7 @@ class WSRequestHandler : public QObject { public: explicit WSRequestHandler(QVariantHash& connProperties); ~WSRequestHandler(); - obs_data_t* processIncomingMessage(std::string& textMessage); + std::string processIncomingMessage(std::string& textMessage); bool hasField(QString name); private: @@ -45,6 +45,8 @@ class WSRequestHandler : public QObject { QVariantHash& _connProperties; OBSDataAutoRelease data; + HandlerResponse processRequest(std::string& textMessage); + HandlerResponse SendOKResponse(obs_data_t* additionalFields = nullptr); HandlerResponse SendErrorResponse(const char* errorMessage); HandlerResponse SendErrorResponse(obs_data_t* additionalFields = nullptr); diff --git a/src/WSServer.cpp b/src/WSServer.cpp index 64c67348..b3dc834e 100644 --- a/src/WSServer.cpp +++ b/src/WSServer.cpp @@ -139,13 +139,7 @@ void WSServer::onMessage(connection_hdl hdl, server::message_ptr message) locker.unlock(); WSRequestHandler handler(connProperties); - OBSDataAutoRelease responseData = handler.processIncomingMessage(payload); - - std::string response = obs_data_get_json(responseData); - - if (Config::Current()->DebugEnabled) { - blog(LOG_DEBUG, "Response << '%s'", response.c_str()); - } + std::string response = handler.processIncomingMessage(payload); _server.send(hdl, response, websocketpp::frame::opcode::text);