DRY QHttpHeaders::combinedValue() implementation
Pick-to: 6.7 Task-number: QTBUG-122020 Change-Id: I6232ea725d47800a9236ed90b70004a915bc8b65 Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>bb10
parent
c0e4b73743
commit
de37316160
|
|
@ -790,6 +790,8 @@ public:
|
|||
using Self = QExplicitlySharedDataPointer<QHttpHeadersPrivate>;
|
||||
static void removeAll(Self &d, const HeaderName &name);
|
||||
|
||||
void combinedValue(const HeaderName &name, QByteArray &result) const;
|
||||
|
||||
QList<Header> headers;
|
||||
};
|
||||
|
||||
|
|
@ -819,6 +821,18 @@ void QHttpHeadersPrivate::removeAll(Self &d, const HeaderName &name)
|
|||
}
|
||||
}
|
||||
|
||||
void QHttpHeadersPrivate::combinedValue(const HeaderName &name, QByteArray &result) const
|
||||
{
|
||||
const char* separator = "";
|
||||
for (const auto &h : std::as_const(headers)) {
|
||||
if (h.name == name) {
|
||||
result.append(separator);
|
||||
result.append(h.value);
|
||||
separator = ", ";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*!
|
||||
Creates a new QHttpHeaders object.
|
||||
*/
|
||||
|
|
@ -1365,15 +1379,7 @@ QByteArray QHttpHeaders::combinedValue(QAnyStringView name) const
|
|||
if (isEmpty())
|
||||
return result;
|
||||
|
||||
const HeaderName hname(name);
|
||||
const char* separator = "";
|
||||
for (const auto &h : std::as_const(d->headers)) {
|
||||
if (h.name == hname) {
|
||||
result.append(separator);
|
||||
result.append(h.value);
|
||||
separator = ", ";
|
||||
}
|
||||
}
|
||||
d->combinedValue(HeaderName{name}, result);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
|
@ -1386,15 +1392,7 @@ QByteArray QHttpHeaders::combinedValue(WellKnownHeader name) const
|
|||
if (isEmpty())
|
||||
return result;
|
||||
|
||||
const HeaderName hname(name);
|
||||
const char* separator = "";
|
||||
for (const auto &h : std::as_const(d->headers)) {
|
||||
if (h.name == hname) {
|
||||
result.append(separator);
|
||||
result.append(h.value);
|
||||
separator = ", ";
|
||||
}
|
||||
}
|
||||
d->combinedValue(HeaderName{name}, result);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue