Change QNetworkRequest/Reply rawHeader functions to take QASV

QHttpHeaders uses QASV for the header name field, and this aligns
these functions with that. Furthermore having QASV as a parameter
will allow a wider range of string types to be passed as a
parameter (convenience).

Resulted from API-review

Amends: 56bb4ac484adb544925b6d7b58e4fd1d77d49503

Change-Id: Iff42b75393b6470a2c34a1913dbe615bf21238db
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
(cherry picked from commit 8feb41e4462c9879a831d1c753d4200c3287e557)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
Juha Vuolle 2024-01-29 16:17:28 +02:00 committed by Qt Cherry-pick Bot
parent 34d1d7a858
commit 4eba2323f9
5 changed files with 12 additions and 11 deletions

View File

@ -614,7 +614,7 @@ QVariant QNetworkReply::header(QNetworkRequest::KnownHeaders header) const
\sa rawHeader()
\note In Qt versions prior to 6.7, this function took QByteArray only.
*/
bool QNetworkReply::hasRawHeader(QByteArrayView headerName) const
bool QNetworkReply::hasRawHeader(QAnyStringView headerName) const
{
Q_D(const QNetworkReply);
return d->findRawHeader(headerName) != d->rawHeaders.constEnd();
@ -630,7 +630,7 @@ bool QNetworkReply::hasRawHeader(QByteArrayView headerName) const
\sa setRawHeader(), hasRawHeader(), header()
\note In Qt versions prior to 6.7, this function took QByteArray only.
*/
QByteArray QNetworkReply::rawHeader(QByteArrayView headerName) const
QByteArray QNetworkReply::rawHeader(QAnyStringView headerName) const
{
Q_D(const QNetworkReply);
if (const auto it = d->findRawHeader(headerName); it != d->rawHeaders.constEnd())

View File

@ -100,12 +100,12 @@ public:
#if QT_NETWORK_REMOVED_SINCE(6, 7)
bool hasRawHeader(const QByteArray &headerName) const;
#endif
bool hasRawHeader(QByteArrayView headerName) const;
bool hasRawHeader(QAnyStringView headerName) const;
QList<QByteArray> rawHeaderList() const;
#if QT_NETWORK_REMOVED_SINCE(6, 7)
QByteArray rawHeader(const QByteArray &headerName) const;
#endif
QByteArray rawHeader(QByteArrayView headerName) const;
QByteArray rawHeader(QAnyStringView headerName) const;
typedef QPair<QByteArray, QByteArray> RawHeaderPair;
const QList<RawHeaderPair>& rawHeaderPairs() const;

View File

@ -631,7 +631,7 @@ void QNetworkRequest::setHeader(KnownHeaders header, const QVariant &value)
\sa rawHeader(), setRawHeader()
\note In Qt versions prior to 6.7, this function took QByteArray only.
*/
bool QNetworkRequest::hasRawHeader(QByteArrayView headerName) const
bool QNetworkRequest::hasRawHeader(QAnyStringView headerName) const
{
return d->findRawHeader(headerName) != d->rawHeaders.constEnd();
}
@ -647,7 +647,7 @@ bool QNetworkRequest::hasRawHeader(QByteArrayView headerName) const
\sa header(), setRawHeader()
\note In Qt versions prior to 6.7, this function took QByteArray only.
*/
QByteArray QNetworkRequest::rawHeader(QByteArrayView headerName) const
QByteArray QNetworkRequest::rawHeader(QAnyStringView headerName) const
{
if (const auto it = d->findRawHeader(headerName); it != d->rawHeaders.constEnd())
return it->second;
@ -1329,11 +1329,12 @@ static QVariant parseHeaderValue(QNetworkRequest::KnownHeaders header, const QBy
}
QNetworkHeadersPrivate::RawHeadersList::ConstIterator
QNetworkHeadersPrivate::findRawHeader(QByteArrayView key) const
QNetworkHeadersPrivate::findRawHeader(QAnyStringView key) const
{
auto isKeyEqual = [key](const auto &headerPair)
{
return headerPair.first.compare(key, Qt::CaseInsensitive) == 0;
QLatin1StringView name{headerPair.first};
return QAnyStringView::compare(name, key, Qt::CaseInsensitive) == 0;
};
return std::find_if(rawHeaders.begin(), rawHeaders.end(), isKeyEqual);
}

View File

@ -127,12 +127,12 @@ public:
#if QT_NETWORK_REMOVED_SINCE(6, 7)
bool hasRawHeader(const QByteArray &headerName) const;
#endif
bool hasRawHeader(QByteArrayView headerName) const;
bool hasRawHeader(QAnyStringView headerName) const;
QList<QByteArray> rawHeaderList() const;
#if QT_NETWORK_REMOVED_SINCE(6, 7)
QByteArray rawHeader(const QByteArray &headerName) const;
#endif
QByteArray rawHeader(QByteArrayView headerName) const;
QByteArray rawHeader(QAnyStringView headerName) const;
void setRawHeader(const QByteArray &headerName, const QByteArray &value);
// attributes

View File

@ -40,7 +40,7 @@ public:
AttributesMap attributes;
QPointer<QObject> originatingObject;
RawHeadersList::ConstIterator findRawHeader(QByteArrayView key) const;
RawHeadersList::ConstIterator findRawHeader(QAnyStringView key) const;
RawHeadersList allRawHeaders() const;
QList<QByteArray> rawHeadersKeys() const;
void setRawHeader(const QByteArray &key, const QByteArray &value);