diff --git a/src/network/access/qhttpheaders.cpp b/src/network/access/qhttpheaders.cpp index d0b6ed7a7a6..18b76a30359 100644 --- a/src/network/access/qhttpheaders.cpp +++ b/src/network/access/qhttpheaders.cpp @@ -790,6 +790,8 @@ public: using Self = QExplicitlySharedDataPointer; static void removeAll(Self &d, const HeaderName &name); + void combinedValue(const HeaderName &name, QByteArray &result) const; + QList
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; }