summaryrefslogtreecommitdiffstats
path: root/src/network/access
diff options
context:
space:
mode:
authorEdward Welbourne <edward.welbourne@theqtcompany.com>2016-03-08 13:01:59 +0100
committerEdward Welbourne <edward.welbourne@theqtcompany.com>2016-03-10 15:01:09 +0000
commit65f88f3a5ded7fa53f50314434673cdc30977a15 (patch)
tree9dbb1b38a05def5bb4183ef4bed7ba8e5b789693 /src/network/access
parent6a2892bdef79e9787d8abe7c0121865f049c67f8 (diff)
Deduplicate a condition to make clear that several cases ask it.
QNetworkAccessManager::createRequest() had three checks relevant only to GET and HEAD requests; rather than testing for this in each of the cases, test for it once and skip all three if it fails. Tidied up the residue of conditionals in the process. Change-Id: I7baee8067a03afdc7cb0a77f1a50759dc4233843 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
Diffstat (limited to 'src/network/access')
-rw-r--r--src/network/access/qnetworkaccessmanager.cpp52
1 files changed, 25 insertions, 27 deletions
diff --git a/src/network/access/qnetworkaccessmanager.cpp b/src/network/access/qnetworkaccessmanager.cpp
index cf10368c52..28553e19e6 100644
--- a/src/network/access/qnetworkaccessmanager.cpp
+++ b/src/network/access/qnetworkaccessmanager.cpp
@@ -1123,38 +1123,36 @@ QNetworkReply *QNetworkAccessManager::createRequest(QNetworkAccessManager::Opera
// fast path for GET on file:// URLs
// The QNetworkAccessFileBackend will right now only be used for PUT
- if ((op == QNetworkAccessManager::GetOperation || op == QNetworkAccessManager::HeadOperation)
- && (isLocalFile || scheme == QLatin1String("qrc")
-#if defined(Q_OS_ANDROID)
+ if (op == QNetworkAccessManager::GetOperation
+ || op == QNetworkAccessManager::HeadOperation) {
+ if (isLocalFile
+#ifdef Q_OS_ANDROID
|| scheme == QLatin1String("assets")
#endif
- )) {
- return new QNetworkReplyFileImpl(this, req, op);
- }
+ || scheme == QLatin1String("qrc")) {
+ return new QNetworkReplyFileImpl(this, req, op);
+ }
- if ((op == QNetworkAccessManager::GetOperation || op == QNetworkAccessManager::HeadOperation)
- && scheme == QLatin1String("data")) {
- return new QNetworkReplyDataImpl(this, req, op);
- }
+ if (scheme == QLatin1String("data"))
+ return new QNetworkReplyDataImpl(this, req, op);
- // A request with QNetworkRequest::AlwaysCache does not need any bearer management
- QNetworkRequest::CacheLoadControl mode =
- static_cast<QNetworkRequest::CacheLoadControl>(
- req.attribute(QNetworkRequest::CacheLoadControlAttribute,
+ // A request with QNetworkRequest::AlwaysCache does not need any bearer management
+ QNetworkRequest::CacheLoadControl mode =
+ static_cast<QNetworkRequest::CacheLoadControl>(
+ req.attribute(QNetworkRequest::CacheLoadControlAttribute,
QNetworkRequest::PreferNetwork).toInt());
- if (mode == QNetworkRequest::AlwaysCache
- && (op == QNetworkAccessManager::GetOperation
- || op == QNetworkAccessManager::HeadOperation)) {
- // FIXME Implement a QNetworkReplyCacheImpl instead, see QTBUG-15106
- QNetworkReplyImpl *reply = new QNetworkReplyImpl(this);
- QNetworkReplyImplPrivate *priv = reply->d_func();
- priv->manager = this;
- priv->backend = new QNetworkAccessCacheBackend();
- priv->backend->manager = this->d_func();
- priv->backend->setParent(reply);
- priv->backend->reply = priv;
- priv->setup(op, req, outgoingData);
- return reply;
+ if (mode == QNetworkRequest::AlwaysCache) {
+ // FIXME Implement a QNetworkReplyCacheImpl instead, see QTBUG-15106
+ QNetworkReplyImpl *reply = new QNetworkReplyImpl(this);
+ QNetworkReplyImplPrivate *priv = reply->d_func();
+ priv->manager = this;
+ priv->backend = new QNetworkAccessCacheBackend();
+ priv->backend->manager = this->d_func();
+ priv->backend->setParent(reply);
+ priv->backend->reply = priv;
+ priv->setup(op, req, outgoingData);
+ return reply;
+ }
}
#ifndef QT_NO_BEARERMANAGEMENT