Move few QHttpHeaders helper functions on top

As a prequel to make subsequent diff on the followup
commit (std::variant/union) smaller

Task-number: QTBUG-122020
Change-Id: Iaa5dd794dc7a9e33c2c43e459bf5dbd19afb3ba1
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
(cherry picked from commit d3860b1b73799244f240dac8d03176636e367567)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Juha Vuolle 2024-02-16 10:59:43 +02:00 committed by Qt Cherry-pick Bot
parent 257a5309ae
commit 6c82802a95

View File

@ -663,6 +663,26 @@ static_assert(q20::is_sorted(std::begin(orderedHeaderNameIndexes),
\value ProtocolQuery
*/
static QByteArray fieldToByteArray(QLatin1StringView s) noexcept
{
return QByteArray(s.data(), s.size());
}
static QByteArray fieldToByteArray(QUtf8StringView s) noexcept
{
return QByteArray(s.data(), s.size());
}
static QByteArray fieldToByteArray(QStringView s)
{
return s.toLatin1();
}
static QByteArray normalizedName(QAnyStringView name)
{
return name.visit([](auto name){ return fieldToByteArray(name); }).toLower();
}
// A clarification on case-sensitivity:
// - Header *names* are case-insensitive; Content-Type and content-type are considered equal
// - Header *values* are case-sensitive
@ -954,26 +974,6 @@ static bool isValidHttpHeaderValueField(QAnyStringView value) noexcept
return valid;
}
static QByteArray fieldToByteArray(QLatin1StringView s) noexcept
{
return QByteArray(s.data(), s.size());
}
static QByteArray fieldToByteArray(QUtf8StringView s) noexcept
{
return QByteArray(s.data(), s.size());
}
static QByteArray fieldToByteArray(QStringView s)
{
return s.toLatin1();
}
static QByteArray normalizedName(QAnyStringView name)
{
return name.visit([](auto name){ return fieldToByteArray(name); }).toLower();
}
static QByteArray normalizedValue(QAnyStringView value)
{
// Note on trimming away any leading or trailing whitespace of 'value':