diff options
author | Ed Tanous <edtanous@google.com> | 2023-04-25 01:28:50 +0300 |
---|---|---|
committer | Ed Tanous <ed@tanous.net> | 2023-05-16 19:05:33 +0300 |
commit | ef4c65b741724d724452a3a0efe8dff0d450514a (patch) | |
tree | 9667bdff1dd9d2dbeac94bc8bd46efd83177512b /redfish-core/lib/virtual_media.hpp | |
parent | a87c4180fd7f2127960fbc4c89c31b7659f0cfb8 (diff) | |
download | bmcweb-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.hpp | 30 |
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", {}, |