summaryrefslogtreecommitdiff
path: root/redfish-core/lib/virtual_media.hpp
diff options
context:
space:
mode:
authorEd Tanous <edtanous@google.com>2023-04-25 01:28:50 +0300
committerEd Tanous <ed@tanous.net>2023-05-16 19:05:33 +0300
commitef4c65b741724d724452a3a0efe8dff0d450514a (patch)
tree9667bdff1dd9d2dbeac94bc8bd46efd83177512b /redfish-core/lib/virtual_media.hpp
parenta87c4180fd7f2127960fbc4c89c31b7659f0cfb8 (diff)
downloadbmcweb-ef4c65b741724d724452a3a0efe8dff0d450514a.tar.xz
Boost::urls::format
Boost 1.82 dropped a lovely new toy, boost::urls::format, which is a lot like our urlFromPieces method, but better in that it makes the resulting uris more readable, and allows doing things like fragments in a single line instead of multiple. We should prefer it in some cases. Tested: Redfish service validator passes. Spot checks of URLs work as expected. Unit tests pass. Signed-off-by: Ed Tanous <edtanous@google.com> Change-Id: Ia7b38f0a95771c862507e7d5b4aa68aa1c98403c
Diffstat (limited to 'redfish-core/lib/virtual_media.hpp')
-rw-r--r--redfish-core/lib/virtual_media.hpp30
1 files changed, 15 insertions, 15 deletions
diff --git a/redfish-core/lib/virtual_media.hpp b/redfish-core/lib/virtual_media.hpp
index 373881e605..8192da2e77 100644
--- a/redfish-core/lib/virtual_media.hpp
+++ b/redfish-core/lib/virtual_media.hpp
@@ -25,6 +25,7 @@
#include "utils/json_utils.hpp"
#include <boost/process/async_pipe.hpp>
+#include <boost/url/format.hpp>
#include <boost/url/url_view.hpp>
#include <array>
@@ -245,8 +246,8 @@ inline nlohmann::json vmItemTemplate(const std::string& name,
const std::string& resName)
{
nlohmann::json item;
- item["@odata.id"] = crow::utility::urlFromPieces(
- "redfish", "v1", "Managers", name, "VirtualMedia", resName);
+ item["@odata.id"] = boost::urls::format(
+ "/redfish/v1/Managers/{}/VirtualMedia/{}", name, resName);
item["@odata.type"] = "#VirtualMedia.v1_3_0.VirtualMedia";
item["Name"] = "Virtual Removable Media";
@@ -290,8 +291,8 @@ inline void getVmResourceList(std::shared_ptr<bmcweb::AsyncResp> aResp,
continue;
}
- item["@odata.id"] = crow::utility::urlFromPieces(
- "redfish", "v1", "Managers", name, "VirtualMedia", path);
+ item["@odata.id"] = boost::urls::format(
+ "/redfish/v1/Managers/{}/VirtualMedia/{}", name, path);
members.emplace_back(std::move(item));
}
aResp->res.jsonValue["Members@odata.count"] = members.size();
@@ -318,19 +319,18 @@ inline void
// Check if dbus path is Legacy type
if (mode == VmMode::Legacy)
{
- asyncResp->res
- .jsonValue["Actions"]["#VirtualMedia.InsertMedia"]["target"] =
- crow::utility::urlFromPieces("redfish", "v1", "Managers", name,
- "VirtualMedia", resName, "Actions",
- "VirtualMedia.InsertMedia");
+ asyncResp->res.jsonValue["Actions"]["#VirtualMedia.InsertMedia"]
+ ["target"] = boost::urls::format(
+ "/redfish/v1/Managers/{}/VirtualMedia/{}/Actions/VirtualMedia.InsertMedia",
+ name, resName);
}
vmParseInterfaceObject(item.second, asyncResp);
- asyncResp->res.jsonValue["Actions"]["#VirtualMedia.EjectMedia"]["target"] =
- crow::utility::urlFromPieces("redfish", "v1", "Managers", name,
- "VirtualMedia", resName, "Actions",
- "VirtualMedia.EjectMedia");
+ asyncResp->res.jsonValue["Actions"]["#VirtualMedia.EjectMedia"]
+ ["target"] = boost::urls::format(
+ "/redfish/v1/Managers/{}/VirtualMedia/{}/Actions/VirtualMedia.EjectMedia",
+ name, resName);
}
/**
@@ -986,8 +986,8 @@ inline void handleManagersVirtualMediaCollectionGet(
asyncResp->res.jsonValue["@odata.type"] =
"#VirtualMediaCollection.VirtualMediaCollection";
asyncResp->res.jsonValue["Name"] = "Virtual Media Services";
- asyncResp->res.jsonValue["@odata.id"] = crow::utility::urlFromPieces(
- "redfish", "v1", "Managers", name, "VirtualMedia");
+ asyncResp->res.jsonValue["@odata.id"] =
+ boost::urls::format("/redfish/v1/Managers/{}/VirtualMedia", name);
dbus::utility::getDbusObject(
"/xyz/openbmc_project/VirtualMedia", {},