summaryrefslogtreecommitdiffstats
path: root/src/network/access
diff options
context:
space:
mode:
authorLorn Potter <lorn.potter@gmail.com>2021-11-05 10:59:27 +1000
committerLorn Potter <lorn.potter@gmail.com>2021-11-06 15:08:54 +1000
commit663a17589301225a40d8e56cb1e90886afcb00c3 (patch)
treea676af57250b0c9db189442c17c2889a0d84b680 /src/network/access
parent8790142aebf22a9e0397ec63dfc7bad72a1ee7a6 (diff)
wasm: fix network reply status attribute
We were emitting the finished signal before the status code attributes were being set. Fixes: QTBUG-97984 Pick-to: 6.2 5.15 Change-Id: Ib179898dee2b9667d482348ad12180e8bdef74db Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
Diffstat (limited to 'src/network/access')
-rw-r--r--src/network/access/qnetworkreplywasmimpl.cpp17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/network/access/qnetworkreplywasmimpl.cpp b/src/network/access/qnetworkreplywasmimpl.cpp
index 4c735b1559..3f8c11c201 100644
--- a/src/network/access/qnetworkreplywasmimpl.cpp
+++ b/src/network/access/qnetworkreplywasmimpl.cpp
@@ -308,12 +308,6 @@ void QNetworkReplyWasmImplPrivate::dataReceived(const QByteArray &buffer, int bu
downloadBuffer.append(buffer, bufferSize);
emit q->readyRead();
-
- if (downloadBufferCurrentSize == totalDownloadSize) {
- q->setFinished(true);
- emit q->readChannelFinished();
- emit q->finished();
- }
}
//taken from qnetworkrequest.cpp
@@ -450,12 +444,23 @@ void QNetworkReplyWasmImplPrivate::downloadSucceeded(emscripten_fetch_t *fetch)
if (reply->state != QNetworkReplyPrivate::Aborted) {
QByteArray buffer(fetch->data, fetch->numBytes);
reply->dataReceived(buffer, buffer.size());
+ QByteArray statusText(fetch->statusText);
+ reply->setStatusCode(fetch->status, statusText);
+ reply->setReplyFinished();
}
reply->m_fetch = nullptr;
}
emscripten_fetch_close(fetch);
}
+void QNetworkReplyWasmImplPrivate::setReplyFinished()
+{
+ Q_Q(QNetworkReplyWasmImpl);
+ q->setFinished(true);
+ emit q->readChannelFinished();
+ emit q->finished();
+}
+
void QNetworkReplyWasmImplPrivate::setStatusCode(int status, const QByteArray &statusText)
{
Q_Q(QNetworkReplyWasmImpl);