summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Oleynik <AOleynik@luxoft.com>2014-07-10 16:27:09 +0300
committerAndrey Oleynik <AOleynik@luxoft.com>2014-07-10 16:27:09 +0300
commit3291f16051a836c8a14f955daf088d2ef5f6e63d (patch)
tree8ac74ff384cb402b316ef837aff30e561516c381
parentac5eae642bbf8695674dd3726052a283736a1867 (diff)
downloadsdl_core-3291f16051a836c8a14f955daf088d2ef5f6e63d.tar.gz
APPLINK-8128. Removed backslashes from PT snapshot.
-rw-r--r--src/components/application_manager/src/policies/policy_handler.cc13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/components/application_manager/src/policies/policy_handler.cc b/src/components/application_manager/src/policies/policy_handler.cc
index d3159100d6..309d45d2b6 100644
--- a/src/components/application_manager/src/policies/policy_handler.cc
+++ b/src/components/application_manager/src/policies/policy_handler.cc
@@ -507,6 +507,11 @@ void PolicyHandler::OnPendingPermissionChange(
BinaryMessageSptr PolicyHandler::AddHttpHeader(
const BinaryMessageSptr& pt_string) {
+ // Creating new value to avoid backslashes with direct converting from string
+ Json::Value policy_table(Json::objectValue);
+ Json::Reader reader;
+ reader.parse(std::string(pt_string->begin(), pt_string->end()), policy_table);
+
Json::Value packet(Json::objectValue);
packet["HTTPRequest"] = Json::Value(Json::objectValue);
packet["HTTPRequest"]["headers"] = Json::Value(Json::objectValue);
@@ -525,12 +530,10 @@ BinaryMessageSptr PolicyHandler::AddHttpHeader(
packet["HTTPRequest"]["headers"]["Content_Length"] =
Json::Value(static_cast<int>(pt_string->size()));
packet["HTTPRequest"]["body"] = Json::Value(Json::objectValue);
- packet["HTTPRequest"]["body"]["data"] = Json::Value(Json::arrayValue);
- packet["HTTPRequest"]["body"]["data"][0] = Json::Value(
- std::string(pt_string->begin(),
- pt_string->end()));
+ packet["HTTPRequest"]["body"]["data"] = Json::Value(Json::objectValue);
+ packet["HTTPRequest"]["body"]["data"] = policy_table;
- Json::FastWriter writer;
+ Json::StyledWriter writer;
std::string message = writer.write(packet);
LOG4CXX_DEBUG(logger_, "Packet PT: " << message);
return new BinaryMessage(message.begin(), message.end());