DRY QHttpHeaders::value() implementation

Task-number: QTBUG-122020
Change-Id: I403d376734587d721d27f7093b3774068829a46d
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
(cherry picked from commit b370e1b7f19464dd5303122b3e1e72addbadbf57)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Juha Vuolle 2024-02-29 13:42:09 +02:00 committed by Qt Cherry-pick Bot
parent 02579a27a0
commit 997f86279f

View File

@ -792,6 +792,7 @@ public:
void combinedValue(const HeaderName &name, QByteArray &result) const;
void values(const HeaderName &name, QList<QByteArray> &result) const;
QByteArrayView value(const HeaderName &name, QByteArrayView defaultValue) const noexcept;
QList<Header> headers;
};
@ -842,6 +843,15 @@ void QHttpHeadersPrivate::values(const HeaderName &name, QList<QByteArray> &resu
}
}
QByteArrayView QHttpHeadersPrivate::value(const HeaderName &name, QByteArrayView defaultValue) const noexcept
{
for (const auto &h : std::as_const(headers)) {
if (h.name == name)
return h.value;
}
return defaultValue;
}
/*!
Creates a new QHttpHeaders object.
*/
@ -1279,13 +1289,7 @@ QByteArrayView QHttpHeaders::value(QAnyStringView name, QByteArrayView defaultVa
if (isEmpty())
return defaultValue;
const HeaderName hname(name);
for (const auto &h : std::as_const(d->headers)) {
if (h.name == hname)
return h.value;
}
return defaultValue;
return d->value(HeaderName{name}, defaultValue);
}
/*!
@ -1296,13 +1300,7 @@ QByteArrayView QHttpHeaders::value(WellKnownHeader name, QByteArrayView defaultV
if (isEmpty())
return defaultValue;
const HeaderName hname(name);
for (const auto &h : std::as_const(d->headers)) {
if (h.name == hname)
return h.value;
}
return defaultValue;
return d->value(HeaderName{name}, defaultValue);
}
/*!