From 657d3e575906a77d20faaf5e821ff1ce617a8953 Mon Sep 17 00:00:00 2001 From: Leonardo Sala Date: Thu, 1 Dec 2016 15:59:12 +0000 Subject: [PATCH] first functional commit, still some workarounds. Can start, acquire, stop, restart --- slsReceiverSoftware/include/RestHelper.h | 15 +++++++++++++-- slsReceiverSoftware/src/UDPRESTImplementation.cpp | 7 +++---- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/slsReceiverSoftware/include/RestHelper.h b/slsReceiverSoftware/include/RestHelper.h index f808cea01..d789448ab 100644 --- a/slsReceiverSoftware/include/RestHelper.h +++ b/slsReceiverSoftware/include/RestHelper.h @@ -18,6 +18,7 @@ #include #include "JsonBox/Value.h" +#include "JsonBox/JsonParsingError.h" //#include "logger.h" @@ -167,7 +168,7 @@ class RestHelper { string answer; int code = send_request(session, req, &answer); if(code == 0 ) { - //FILE_LOG(logDEBUG) << __AT__ << " REQUEST: " << " ANSWER: " << answer; + FILE_LOG(logDEBUG) << __AT__ << " REQUEST: " << " ANSWER: " << answer; json_value->loadFromString(answer); } delete uri; @@ -220,7 +221,17 @@ class RestHelper { string answer; int code = send_request(session, req, &answer, request_body); if(code==0){ - json_value->loadFromString(answer); + try{ + json_value->loadFromString(answer); + } + catch (JsonBox::JsonParsingError& e){ + try{ + json_value->loadFromString("{\"global_state\":\"" + answer + "\"}"); + } + catch(exception &e){ + FILE_LOG(logERROR) << "Exception converting answer: " << e.what() ; + } + } } delete uri; return code; diff --git a/slsReceiverSoftware/src/UDPRESTImplementation.cpp b/slsReceiverSoftware/src/UDPRESTImplementation.cpp index f16fadb03..1e5498585 100644 --- a/slsReceiverSoftware/src/UDPRESTImplementation.cpp +++ b/slsReceiverSoftware/src/UDPRESTImplementation.cpp @@ -4,7 +4,6 @@ * @short does all the functions for a receiver, set/get parameters, start/stop etc. ***********************************************/ - #include "UDPRESTImplementation.h" #include // exit() @@ -74,7 +73,7 @@ string UDPRESTImplementation::get_rest_state(RestHelper * rest/*, string *rest_s int code = rest->get_json("v1/state", &answer); if ( code != -1 ){ - + std::cout << answer << std::endl; rest_state = answer["global_state"].getString(); std::cout << rest_state << std::endl; } @@ -327,8 +326,8 @@ int UDPRESTImplementation::shutDownUDPSockets(){ code = rest->post_json("v1/state/reset", &answer); std::cout << code << " " << answer << std::endl; - rest_state = get_rest_state(rest); - std::cout << rest_state << std::endl; + //rest_state = get_rest_state(rest); + //std::cout << rest_state << std::endl; } status = slsReceiverDefs::RUN_FINISHED;