src/network/access/qhttpnetworkreply.cpp
branchRCL_3
changeset 4 3b1da2848fc7
parent 3 41300fa6a67c
child 8 3f74d0d4af4c
--- a/src/network/access/qhttpnetworkreply.cpp	Tue Feb 02 00:43:10 2010 +0200
+++ b/src/network/access/qhttpnetworkreply.cpp	Fri Feb 19 23:40:16 2010 +0200
@@ -1,6 +1,6 @@
 /****************************************************************************
 **
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
 ** All rights reserved.
 ** Contact: Nokia Corporation (qt-info@nokia.com)
 **
@@ -179,9 +179,19 @@
 QByteArray QHttpNetworkReply::readAny()
 {
     Q_D(QHttpNetworkReply);
+    // we'll take the last buffer, so schedule another read from http
+    if (d->downstreamLimited && d->responseData.bufferCount() == 1)
+        d->connection->d_func()->readMoreLater(this);
     return d->responseData.read();
 }
 
+void QHttpNetworkReply::setDownstreamLimited(bool dsl)
+{
+    Q_D(QHttpNetworkReply);
+    d->downstreamLimited = dsl;
+    d->connection->d_func()->readMoreLater(this);
+}
+
 bool QHttpNetworkReply::isFinished() const
 {
     return d_func()->state == QHttpNetworkReplyPrivate::AllDoneState;
@@ -201,7 +211,7 @@
       forceConnectionCloseEnabled(false),
       currentChunkSize(0), currentChunkRead(0), connection(0), initInflate(false),
       autoDecompress(false), responseData(), requestIsPrepared(false)
-      ,pipeliningUsed(false)
+      ,pipeliningUsed(false), downstreamLimited(false)
 {
 }