From b6f3953f7ed84d01ee4d4129aa38af1ffe06bfa0 Mon Sep 17 00:00:00 2001
From: kharade <rohan.kharade@openairinterface.org>
Date: Thu, 9 Mar 2023 14:54:41 +0100
Subject: [PATCH] HTTP2 fix for json response data formatting

Signed-off-by: kharade <rohan.kharade@openairinterface.org>
---
 src/api-server/nrf-http2-server.cpp | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/api-server/nrf-http2-server.cpp b/src/api-server/nrf-http2-server.cpp
index 674df6f..28a97bb 100644
--- a/src/api-server/nrf-http2-server.cpp
+++ b/src/api-server/nrf-http2-server.cpp
@@ -337,7 +337,14 @@ void nrf_http2_server::get_nf_instances_handler(
     to_json(json_data, problem_details);
     content_type = "application/problem+json";
   } else {
-    profile.get()->to_json(json_data);
+    // convert URIs to Json
+    json_data["_links"]["item"] = nlohmann::json::array();
+    json_data["_links"]["self"] = "";
+    for (auto u : uris) {
+      nlohmann::json json_item = {};
+      json_item["href"]        = u;
+      json_data["_links"]["item"].push_back(json_item);
+    }
   }
 
   header_map h;
@@ -346,7 +353,7 @@ void nrf_http2_server::get_nf_instances_handler(
                                nrf_cfg.sbi_api_version + "/nf-instances/"});
   h.emplace("content-type", header_value{content_type});
   response.write_head(http_code, h);
-  response.end();
+  response.end(json_data.dump().c_str());
 }
 
 void nrf_http2_server::update_instance_handler(
-- 
GitLab