diff --git a/src/network/access/qhttpheaders.cpp b/src/network/access/qhttpheaders.cpp index b0aafd2e175..b02f6c6648c 100644 --- a/src/network/access/qhttpheaders.cpp +++ b/src/network/access/qhttpheaders.cpp @@ -792,6 +792,7 @@ public: void combinedValue(const HeaderName &name, QByteArray &result) const; void values(const HeaderName &name, QList &result) const; + QByteArrayView value(const HeaderName &name, QByteArrayView defaultValue) const noexcept; QList
headers; }; @@ -842,6 +843,15 @@ void QHttpHeadersPrivate::values(const HeaderName &name, QList &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); } /*!