DRY QHttpHeaders::values() implementation

Task-number: QTBUG-122020
Change-Id: I7401eef86b133d33f32cd786dffe9a06c4ac7aba
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
(cherry picked from commit 9c0a79d323500d07fb8b95656b9013dc118b9fa3)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Juha Vuolle 2024-02-29 13:18:47 +02:00 committed by Qt Cherry-pick Bot
parent 3d6393f533
commit 02579a27a0

View File

@ -791,6 +791,7 @@ public:
static void removeAll(Self &d, const HeaderName &name); static void removeAll(Self &d, const HeaderName &name);
void combinedValue(const HeaderName &name, QByteArray &result) const; void combinedValue(const HeaderName &name, QByteArray &result) const;
void values(const HeaderName &name, QList<QByteArray> &result) const;
QList<Header> headers; QList<Header> headers;
}; };
@ -833,6 +834,14 @@ void QHttpHeadersPrivate::combinedValue(const HeaderName &name, QByteArray &resu
} }
} }
void QHttpHeadersPrivate::values(const HeaderName &name, QList<QByteArray> &result) const
{
for (const auto &h : std::as_const(headers)) {
if (h.name == name)
result.append(h.value);
}
}
/*! /*!
Creates a new QHttpHeaders object. Creates a new QHttpHeaders object.
*/ */
@ -1308,12 +1317,7 @@ QList<QByteArray> QHttpHeaders::values(QAnyStringView name) const
if (isEmpty()) if (isEmpty())
return result; return result;
const HeaderName hname(name); d->values(HeaderName{name}, result);
for (const auto &h : std::as_const(d->headers)) {
if (h.name == hname)
result.append(h.value);
}
return result; return result;
} }
@ -1322,17 +1326,12 @@ QList<QByteArray> QHttpHeaders::values(QAnyStringView name) const
*/ */
QList<QByteArray> QHttpHeaders::values(WellKnownHeader name) const QList<QByteArray> QHttpHeaders::values(WellKnownHeader name) const
{ {
QList<QByteArray> values; QList<QByteArray> result;
if (isEmpty()) if (isEmpty())
return values; return result;
const HeaderName hname(name); d->values(HeaderName{name}, result);
return result;
for (const auto &h : std::as_const(d->headers)) {
if (h.name == hname)
values.append(h.value);
}
return values;
} }
/*! /*!