summaryrefslogtreecommitdiffstats
path: root/src/network/access/qnetworkaccessmanager.cpp
diff options
context:
space:
mode:
authorLorn Potter <lorn.potter@gmail.com>2019-09-07 07:06:30 +1000
committerMorten Johan Sørvig <morten.sorvig@qt.io>2020-03-26 22:36:36 +0000
commit643410136004825cb395e342f5c4ff90e85de4fe (patch)
tree9f0cab449b6b1059e7b132d9a0c3ca5ea42c5c13 /src/network/access/qnetworkaccessmanager.cpp
parent96de59d7c1068022dbb590d7abbdcf6eaf5d0566 (diff)
wasm: refactor network to use fetch API
This has better support for threaded use, and gets rid of bind use. This requires emscripten 1.38.37 and above Task-number: QTBUG-76891 Change-Id: Ic30a6820c2ce945c314751c06cfc356914a71217 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Diffstat (limited to 'src/network/access/qnetworkaccessmanager.cpp')
-rw-r--r--src/network/access/qnetworkaccessmanager.cpp23
1 files changed, 12 insertions, 11 deletions
diff --git a/src/network/access/qnetworkaccessmanager.cpp b/src/network/access/qnetworkaccessmanager.cpp
index e7e6e6b1a4..9e0389e08d 100644
--- a/src/network/access/qnetworkaccessmanager.cpp
+++ b/src/network/access/qnetworkaccessmanager.cpp
@@ -1410,16 +1410,7 @@ QNetworkReply *QNetworkAccessManager::createRequest(QNetworkAccessManager::Opera
bool isLocalFile = req.url().isLocalFile();
QString scheme = req.url().scheme();
-#ifdef Q_OS_WASM
- // Support http, https, and relateive urls
- if (scheme == QLatin1String("http") || scheme == QLatin1String("https") || scheme.isEmpty()) {
- QNetworkReplyWasmImpl *reply = new QNetworkReplyWasmImpl(this);
- QNetworkReplyWasmImplPrivate *priv = reply->d_func();
- priv->manager = this;
- priv->setup(op, req, outgoingData);
- return reply;
- }
-#endif
+#ifndef Q_OS_WASM
// fast path for GET on file:// URLs
// The QNetworkAccessFileBackend will right now only be used for PUT
@@ -1506,7 +1497,7 @@ QNetworkReply *QNetworkAccessManager::createRequest(QNetworkAccessManager::Opera
}
#endif
}
-
+#endif
QNetworkRequest request = req;
if (!request.header(QNetworkRequest::ContentLengthHeader).isValid() &&
outgoingData && !outgoingData->isSequential()) {
@@ -1524,6 +1515,16 @@ QNetworkReply *QNetworkAccessManager::createRequest(QNetworkAccessManager::Opera
request.setHeader(QNetworkRequest::CookieHeader, QVariant::fromValue(cookies));
}
}
+#ifdef Q_OS_WASM
+ // Support http, https, and relative urls
+ if (scheme == QLatin1String("http") || scheme == QLatin1String("https") || scheme.isEmpty()) {
+ QNetworkReplyWasmImpl *reply = new QNetworkReplyWasmImpl(this);
+ QNetworkReplyWasmImplPrivate *priv = reply->d_func();
+ priv->manager = this;
+ priv->setup(op, request, outgoingData);
+ return reply;
+ }
+#endif
#if QT_CONFIG(http)
// Since Qt 5 we use the new QNetworkReplyHttpImpl