Prepare for boost::url upgrade
The new boost URL now interops properly with std::string_view, which is
great, and cleans up a bunch of mediocre code to convert one to another.
It has also been pulled into boost-proper, so we no longer need a
boost-url dependency that's separate.
Unfortunately, boost url makes these improvements by changing
boost::string_view for boost::urls::const_string, which causes us to
have some compile errors on the missing type.
The bulk of these changes fall into a couple categories, and have to be
executed in one commit.
string() is replaced with buffer() on the url and url_view types
boost::string_view is replaced by std::string_view for many times, in
many cases removing a temporary that we had in the code previously.
Tested: Code compiles with boost 1.81.0 beta.
Redfish service validator passes.
Pretty good unit test coverage for URL-specific use cases.
Signed-off-by: Ed Tanous <edtanous@google.com>
Change-Id: I8d3dc89b53d1cc390887fe53605d4867f75f76fd
diff --git a/redfish-core/lib/virtual_media.hpp b/redfish-core/lib/virtual_media.hpp
index af38163..402cbbd 100644
--- a/redfish-core/lib/virtual_media.hpp
+++ b/redfish-core/lib/virtual_media.hpp
@@ -32,12 +32,12 @@
inline std::string getTransferProtocolTypeFromUri(const std::string& imageUri)
{
boost::urls::result<boost::urls::url_view> url =
- boost::urls::parse_uri(boost::string_view(imageUri));
+ boost::urls::parse_uri(imageUri);
if (!url)
{
return "None";
}
- boost::string_view scheme = url->scheme();
+ std::string_view scheme = url->scheme();
if (scheme == "smb")
{
return "CIFS";
@@ -294,7 +294,7 @@
inline std::optional<TransferProtocol>
getTransferProtocolFromUri(const boost::urls::url_view& imageUri)
{
- boost::string_view scheme = imageUri.scheme();
+ std::string_view scheme = imageUri.scheme();
if (scheme == "smb")
{
return TransferProtocol::smb;
@@ -401,7 +401,7 @@
return false;
}
boost::urls::result<boost::urls::url_view> url =
- boost::urls::parse_uri(boost::string_view(imageUrl));
+ boost::urls::parse_uri(imageUrl);
if (!url)
{
messages::actionParameterValueFormatError(res, imageUrl, "Image",