summaryrefslogtreecommitdiffstats
path: root/src/network
diff options
context:
space:
mode:
authorJuha Vuolle <juha.vuolle@qt.io>2024-02-29 13:08:27 +0200
committerJuha Vuolle <juha.vuolle@qt.io>2024-03-05 08:10:14 +0200
commitde37316160920f88101fbb59e32b401d139f2e80 (patch)
tree5796b2cc06df3e9a1ae3b01fcd3aca1817feec0f /src/network
parentc0e4b73743b9e9e8c3e116f9db9fe37bfcd89bf5 (diff)
DRY QHttpHeaders::combinedValue() implementation
Pick-to: 6.7 Task-number: QTBUG-122020 Change-Id: I6232ea725d47800a9236ed90b70004a915bc8b65 Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io>
Diffstat (limited to 'src/network')
-rw-r--r--src/network/access/qhttpheaders.cpp34
1 files changed, 16 insertions, 18 deletions
diff --git a/src/network/access/qhttpheaders.cpp b/src/network/access/qhttpheaders.cpp
index d0b6ed7a7a..18b76a3035 100644
--- a/src/network/access/qhttpheaders.cpp
+++ b/src/network/access/qhttpheaders.cpp
@@ -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;
}