diff options
author | Peter Hartmann <phartmann@blackberry.com> | 2014-01-22 17:51:43 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-02-13 03:26:48 +0100 |
commit | 57f209497c3799c28838cbca314fa93140302aba (patch) | |
tree | 293656869f4020a782b227e776e45839425f434b /src | |
parent | 4f23f0530a9c59400a7f3821cd2c9355801ed8cd (diff) |
HTTP internals: move some methods inside HTTP request class
... from the private to the public class, because we need to access
these methods from other classes.
Change-Id: I2c5ea84e0f5d3641c1dc02342348f1022d886249
Reviewed-by: Richard J. Moore <rich@kde.org>
Diffstat (limited to 'src')
-rw-r--r-- | src/network/access/qhttpnetworkconnection.cpp | 4 | ||||
-rw-r--r-- | src/network/access/qhttpnetworkrequest.cpp | 16 | ||||
-rw-r--r-- | src/network/access/qhttpnetworkrequest_p.h | 6 |
3 files changed, 14 insertions, 12 deletions
diff --git a/src/network/access/qhttpnetworkconnection.cpp b/src/network/access/qhttpnetworkconnection.cpp index e0996c4072..66c97f7485 100644 --- a/src/network/access/qhttpnetworkconnection.cpp +++ b/src/network/access/qhttpnetworkconnection.cpp @@ -512,7 +512,7 @@ void QHttpNetworkConnectionPrivate::createAuthorization(QAbstractSocket *socket, if ((channels[i].authMethod != QAuthenticatorPrivate::Ntlm && request.headerField("Authorization").isEmpty()) || channels[i].lastStatus == 401) { QAuthenticatorPrivate *priv = QAuthenticatorPrivate::getPrivate(channels[i].authenticator); if (priv && priv->method != QAuthenticatorPrivate::None) { - QByteArray response = priv->calculateResponse(request.d->methodName(), request.d->uri(false)); + QByteArray response = priv->calculateResponse(request.methodName(), request.uri(false)); request.setHeaderField("Authorization", response); channels[i].authenticationCredentialsSent = true; } @@ -524,7 +524,7 @@ void QHttpNetworkConnectionPrivate::createAuthorization(QAbstractSocket *socket, if (!(channels[i].proxyAuthMethod == QAuthenticatorPrivate::Ntlm && channels[i].lastStatus != 407)) { QAuthenticatorPrivate *priv = QAuthenticatorPrivate::getPrivate(channels[i].proxyAuthenticator); if (priv && priv->method != QAuthenticatorPrivate::None) { - QByteArray response = priv->calculateResponse(request.d->methodName(), request.d->uri(false)); + QByteArray response = priv->calculateResponse(request.methodName(), request.uri(false)); request.setHeaderField("Proxy-Authorization", response); channels[i].proxyCredentialsSent = true; } diff --git a/src/network/access/qhttpnetworkrequest.cpp b/src/network/access/qhttpnetworkrequest.cpp index d9f9b555d7..3786f9b992 100644 --- a/src/network/access/qhttpnetworkrequest.cpp +++ b/src/network/access/qhttpnetworkrequest.cpp @@ -87,9 +87,9 @@ bool QHttpNetworkRequestPrivate::operator==(const QHttpNetworkRequestPrivate &ot && (preConnect == other.preConnect); } -QByteArray QHttpNetworkRequestPrivate::methodName() const +QByteArray QHttpNetworkRequest::methodName() const { - switch (operation) { + switch (d->operation) { case QHttpNetworkRequest::Get: return "GET"; case QHttpNetworkRequest::Head: @@ -107,24 +107,24 @@ QByteArray QHttpNetworkRequestPrivate::methodName() const case QHttpNetworkRequest::Connect: return "CONNECT"; case QHttpNetworkRequest::Custom: - return customVerb; + return d->customVerb; default: break; } return QByteArray(); } -QByteArray QHttpNetworkRequestPrivate::uri(bool throughProxy) const +QByteArray QHttpNetworkRequest::uri(bool throughProxy) const { QUrl::FormattingOptions format(QUrl::RemoveFragment | QUrl::RemoveUserInfo | QUrl::FullyEncoded); // for POST, query data is send as content - if (operation == QHttpNetworkRequest::Post && !uploadByteDevice) + if (d->operation == QHttpNetworkRequest::Post && !d->uploadByteDevice) format |= QUrl::RemoveQuery; // for requests through proxy, the Request-URI contains full url if (!throughProxy) format |= QUrl::RemoveScheme | QUrl::RemoveAuthority; - QUrl copy = url; + QUrl copy = d->url; if (copy.path().isEmpty()) copy.setPath(QStringLiteral("/")); QByteArray uri = copy.toEncoded(format); @@ -137,9 +137,9 @@ QByteArray QHttpNetworkRequestPrivate::header(const QHttpNetworkRequest &request QByteArray ba; ba.reserve(40 + fields.length()*25); // very rough lower bound estimation - ba += request.d->methodName(); + ba += request.methodName(); ba += ' '; - ba += request.d->uri(throughProxy); + ba += request.uri(throughProxy); ba += " HTTP/"; ba += QByteArray::number(request.majorVersion()); diff --git a/src/network/access/qhttpnetworkrequest_p.h b/src/network/access/qhttpnetworkrequest_p.h index ce9fbb1509..f224f7329d 100644 --- a/src/network/access/qhttpnetworkrequest_p.h +++ b/src/network/access/qhttpnetworkrequest_p.h @@ -126,11 +126,15 @@ public: void setUploadByteDevice(QNonContiguousByteDevice *bd); QNonContiguousByteDevice* uploadByteDevice() const; + QByteArray methodName() const; + QByteArray uri(bool throughProxy) const; + private: QSharedDataPointer<QHttpNetworkRequestPrivate> d; friend class QHttpNetworkRequestPrivate; friend class QHttpNetworkConnectionPrivate; friend class QHttpNetworkConnectionChannel; + friend class QHttpProtocolHandler; }; class QHttpNetworkRequestPrivate : public QHttpNetworkHeaderPrivate @@ -141,8 +145,6 @@ public: QHttpNetworkRequestPrivate(const QHttpNetworkRequestPrivate &other); ~QHttpNetworkRequestPrivate(); bool operator==(const QHttpNetworkRequestPrivate &other) const; - QByteArray methodName() const; - QByteArray uri(bool throughProxy) const; static QByteArray header(const QHttpNetworkRequest &request, bool throughProxy); |