--- ../../../world-storage-cpp-server/EtsiServerGen/api/RelocalizationInformationApi.cpp 2024-04-25 11:26:25.741693040 +0200 +++ ../../../../world-storage-cpp-serverRestBed/EtsiServerGen/api/RelocalizationInformationApi.cpp 2024-04-24 17:42:01.508637971 +0200 @@ -20,7 +20,7 @@ #include #include #include - +#include #include "RelocalizationInformationApi.h" namespace org { @@ -155,21 +155,36 @@ void RelocalizationInformationResource::handler_GET_internal(const std::shared_ptr session) { - const auto request = session->get_request(); - // Getting the query params - std::string uuids_raw = request->get_query_parameter("uuids"); - std::vector uuids; - std::vector uuids_temp; - boost::split(uuids_temp, uuids_raw, boost::is_any_of(",")); - std::transform(uuids_temp.begin(), uuids_temp.end(), std::back_inserter(uuids), [](const auto& i){ RelocalizationInformationParam ret; ret.fromString(i); return ret;}); - std::string capabilities_raw = request->get_query_parameter("capabilities"); - std::vector capabilities; - std::vector capabilities_temp; - boost::split(capabilities_temp, capabilities_raw, boost::is_any_of(",")); - std::transform(capabilities_temp.begin(), capabilities_temp.end(), std::back_inserter(capabilities), [](const auto& i){ Capability ret; ret.fromString(i); return ret;}); - // Getting the headers - std::string token = request->get_header("token", ""); - +const auto request = session->get_request(); +// Getting the query params +std::string uuids_raw = request->get_query_parameter("uuids"); +std::vector uuids; +std::vector uuids_temp; +boost::split(uuids_temp, uuids_raw, boost::is_any_of(";")); +for (auto& uuid_str : uuids_temp) { + std::replace(uuid_str.begin(), uuid_str.end(), '(', '{'); + std::replace(uuid_str.begin(), uuid_str.end(), ')', '}'); + RelocalizationInformationParam ret; + ret.fromJsonString(uuid_str); + uuids.push_back(ret); +} + +std::string capabilities_raw = request->get_query_parameter("capabilities"); +std::vector capabilities; +std::vector capabilities_temp; +boost::split(capabilities_temp, capabilities_raw, boost::is_any_of(";")); +for (auto& cap_str : capabilities_temp) { + std::replace(cap_str.begin(), cap_str.end(), '(', '{'); + std::replace(cap_str.begin(), cap_str.end(), ')', '}'); + Capability ret; + ret.fromJsonString(cap_str); + capabilities.push_back(ret); +} + +// Getting the headers +std::string token = request->get_header("token", ""); + + int status_code = 500; GetRelocalizationInformation_200_response resultObject = GetRelocalizationInformation_200_response{}; std::string result = ""; @@ -209,7 +224,7 @@ responseHeaders.insert(std::make_pair("Content-Type", "text/plain")); result = "Invalid UUID supplied."; - result = resultObject; + result = resultObject.toJsonString(); returnResponse(session, 400, result.empty() ? "{}" : result, responseHeaders); return; } @@ -217,7 +232,7 @@ responseHeaders.insert(std::make_pair("Content-Type", "text/plain")); result = "Not found, could not find UUID in database."; - result = resultObject; + result = resultObject.toJsonString(); returnResponse(session, 404, result.empty() ? "{}" : result, responseHeaders); return; }