diff options
Diffstat (limited to 'src/network/access/qnetworkreply.cpp')
-rw-r--r-- | src/network/access/qnetworkreply.cpp | 68 |
1 files changed, 59 insertions, 9 deletions
diff --git a/src/network/access/qnetworkreply.cpp b/src/network/access/qnetworkreply.cpp index 335a0131ff..3301ae85d2 100644 --- a/src/network/access/qnetworkreply.cpp +++ b/src/network/access/qnetworkreply.cpp @@ -612,11 +612,12 @@ QVariant QNetworkReply::header(QNetworkRequest::KnownHeaders header) const the remote server \sa rawHeader() + \note In Qt versions prior to 6.7, this function took QByteArray only. */ -bool QNetworkReply::hasRawHeader(const QByteArray &headerName) const +bool QNetworkReply::hasRawHeader(QAnyStringView headerName) const { Q_D(const QNetworkReply); - return d->findRawHeader(headerName) != d->rawHeaders.constEnd(); + return d->headers().contains(headerName); } /*! @@ -627,15 +628,12 @@ bool QNetworkReply::hasRawHeader(const QByteArray &headerName) const header field. \sa setRawHeader(), hasRawHeader(), header() + \note In Qt versions prior to 6.7, this function took QByteArray only. */ -QByteArray QNetworkReply::rawHeader(const QByteArray &headerName) const +QByteArray QNetworkReply::rawHeader(QAnyStringView headerName) const { Q_D(const QNetworkReply); - QNetworkHeadersPrivate::RawHeadersList::ConstIterator it = - d->findRawHeader(headerName); - if (it != d->rawHeaders.constEnd()) - return it->second; - return QByteArray(); + return d->rawHeader(headerName); } /*! \typedef QNetworkReply::RawHeaderPair @@ -650,7 +648,20 @@ QByteArray QNetworkReply::rawHeader(const QByteArray &headerName) const const QList<QNetworkReply::RawHeaderPair>& QNetworkReply::rawHeaderPairs() const { Q_D(const QNetworkReply); - return d->rawHeaders; + return d->allRawHeaders(); +} + +/*! + \since 6.8 + + Returns headers that were sent by the remote server. + + \sa setHeaders(), QNetworkRequest::setAttribute(), QNetworkRequest::Attribute +*/ +QHttpHeaders QNetworkReply::headers() const +{ + Q_D(const QNetworkReply); + return d->headers(); } /*! @@ -888,6 +899,45 @@ void QNetworkReply::setUrl(const QUrl &url) } /*! + \since 6.8 + + Sets \a newHeaders as headers in this network reply, overriding + any previously set headers. + + If some headers correspond to the known headers, they will be + parsed and the corresponding parsed form will also be set. + + \sa headers(), QNetworkRequest::KnownHeaders +*/ +void QNetworkReply::setHeaders(const QHttpHeaders &newHeaders) +{ + Q_D(QNetworkReply); + d->setHeaders(newHeaders); +} + +/*! + \overload + \since 6.8 +*/ +void QNetworkReply::setHeaders(QHttpHeaders &&newHeaders) +{ + Q_D(QNetworkReply); + d->setHeaders(std::move(newHeaders)); +} + +/*! + \since 6.8 + + Sets the header \a name to be of value \a value. If \a + name was previously set, it is overridden. +*/ +void QNetworkReply::setWellKnownHeader(QHttpHeaders::WellKnownHeader name, const QByteArray &value) +{ + Q_D(QNetworkReply); + d->setHeader(name, value); +} + +/*! Sets the known header \a header to be of value \a value. The corresponding raw form of the header will be set as well. |