diff --git a/lib/base/string.cpp b/lib/base/string.cpp index c4617e357..eec5b8372 100644 --- a/lib/base/string.cpp +++ b/lib/base/string.cpp @@ -127,6 +127,18 @@ String::operator const std::string&() const return m_Data; } +/** + * Conversion function to boost::string_view. + * + * This allows using String as the value for HTTP headers in boost::beast::http::basic_fields::set. + * + * @return A boost::string_view representing this string. + */ +String::operator boost::string_view() const +{ + return boost::string_view(m_Data); +} + const char *String::CStr() const { return m_Data.c_str(); diff --git a/lib/base/string.hpp b/lib/base/string.hpp index e9799e7eb..b9290eeee 100644 --- a/lib/base/string.hpp +++ b/lib/base/string.hpp @@ -6,6 +6,7 @@ #include "base/i2-base.hpp" #include "base/object.hpp" #include +#include #include #include @@ -71,6 +72,7 @@ public: bool operator<(const String& rhs) const; operator const std::string&() const; + operator boost::string_view() const; const char *CStr() const;