summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJackLivio <jack@livio.io>2018-02-02 17:53:28 -0500
committerJackLivio <jack@livio.io>2018-02-02 17:53:28 -0500
commit74ccd312dfff41736f7b8c93bcd8813146d76457 (patch)
tree3a817024ed0ad485ad981341274137b34e3b8c3c
parent5b6515d1e63bab3e22d81cc4d2f6184026cfbbee (diff)
downloadsdl_core-74ccd312dfff41736f7b8c93bcd8813146d76457.tar.gz
Review Comments
-rw-r--r--src/3rd_party/CMakeLists.txt4
-rw-r--r--src/components/hmi_message_handler/src/websocket_session.cc75
2 files changed, 36 insertions, 43 deletions
diff --git a/src/3rd_party/CMakeLists.txt b/src/3rd_party/CMakeLists.txt
index 238a28feed..40ac3f4426 100644
--- a/src/3rd_party/CMakeLists.txt
+++ b/src/3rd_party/CMakeLists.txt
@@ -334,8 +334,8 @@ if (HMIADAPTER STREQUAL "messagebroker")
DOWNLOAD_DIR ${BOOST_LIB_SOURCE_DIRECTORY}
SOURCE_DIR ${BOOST_LIB_SOURCE_DIRECTORY}
CONFIGURE_COMMAND ./bootstrap.sh --with-libraries=system --prefix=${3RD_PARTY_INSTALL_PREFIX}
- BUILD_COMMAND sudo ./b2 install --with-system --prefix=${3RD_PARTY_INSTALL_PREFIX}
- INSTALL_COMMAND ""
+ BUILD_COMMAND ./b2
+ INSTALL_COMMAND sudo ./b2 install --with-system --prefix=${3RD_PARTY_INSTALL_PREFIX}
INSTALL_DIR ${3RD_PARTY_INSTALL_PREFIX}
BUILD_IN_SOURCE true
)
diff --git a/src/components/hmi_message_handler/src/websocket_session.cc b/src/components/hmi_message_handler/src/websocket_session.cc
index 2e9ec1890b..8dc03d85d2 100644
--- a/src/components/hmi_message_handler/src/websocket_session.cc
+++ b/src/components/hmi_message_handler/src/websocket_session.cc
@@ -205,10 +205,34 @@ std::string WebsocketSession::findMethodById(std::string id) {
bool WebsocketSession::checkMessage(Json::Value& root, Json::Value& error) {
Json::Value err;
- try {
- /* check the JSON-RPC version => 2.0 */
- if (!root.isObject() || !root.isMember("jsonrpc") ||
- root["jsonrpc"] != "2.0") {
+ /* check the JSON-RPC version => 2.0 */
+ if (!root.isObject() || !root.isMember("jsonrpc") ||
+ root["jsonrpc"] != "2.0") {
+ error["id"] = Json::Value::null;
+ error["jsonrpc"] = "2.0";
+ err["code"] = hmi_message_handler::INVALID_REQUEST;
+ err["message"] = "Invalid MessageBroker request.";
+ error["error"] = err;
+ return false;
+ }
+
+ if (root.isMember("id") &&
+ (root["id"].isArray() || root["id"].isObject())) {
+ error["id"] = Json::Value::null;
+ error["jsonrpc"] = "2.0";
+ err["code"] = hmi_message_handler::INVALID_REQUEST;
+ err["message"] = "Invalid MessageBroker request.";
+ error["error"] = err;
+ return false;
+ }
+
+ if (root.isMember("result") && root.isMember("error")) {
+ /* message can't contain simultaneously result and error*/
+ return false;
+ }
+
+ if (root.isMember("method")) {
+ if (!root["method"].isString()) {
error["id"] = Json::Value::null;
error["jsonrpc"] = "2.0";
err["code"] = hmi_message_handler::INVALID_REQUEST;
@@ -216,50 +240,19 @@ bool WebsocketSession::checkMessage(Json::Value& root, Json::Value& error) {
error["error"] = err;
return false;
}
-
- if (root.isMember("id") &&
- (root["id"].isArray() || root["id"].isObject())) {
+ /* Check the params is an object*/
+ if (root.isMember("params") && !root["params"].isObject()) {
error["id"] = Json::Value::null;
error["jsonrpc"] = "2.0";
- err["code"] = hmi_message_handler::INVALID_REQUEST;
- err["message"] = "Invalid MessageBroker request.";
+ err["code"] = INVALID_REQUEST;
+ err["message"] = "Invalid JSONRPC params.";
error["error"] = err;
return false;
}
-
- if (root.isMember("result") && root.isMember("error")) {
- /* message can't contain simultaneously result and error*/
- return false;
- }
-
- if (root.isMember("method")) {
- if (!root["method"].isString()) {
- error["id"] = Json::Value::null;
- error["jsonrpc"] = "2.0";
- err["code"] = hmi_message_handler::INVALID_REQUEST;
- err["message"] = "Invalid MessageBroker request.";
- error["error"] = err;
- return false;
- }
- /* Check the params is an object*/
- if (root.isMember("params") && !root["params"].isObject()) {
- error["id"] = Json::Value::null;
- error["jsonrpc"] = "2.0";
- err["code"] = INVALID_REQUEST;
- err["message"] = "Invalid JSONRPC params.";
- error["error"] = err;
- return false;
- }
- } else if (!root.isMember("result") && !root.isMember("error")) {
- return false;
- }
- return true;
- } catch (...) {
- LOG4CXX_ERROR(
- ws_logger_,
- "CMessageBrokerController::checkMessage() EXCEPTION has been caught!");
+ } else if (!root.isMember("result") && !root.isMember("error")) {
return false;
}
+ return true;
}
WebsocketSession::LoopThreadDelegate::LoopThreadDelegate(