summaryrefslogtreecommitdiffstats
path: root/src/network/access/qhttpnetworkconnectionchannel.cpp
diff options
context:
space:
mode:
authorRohan McGovern <rohan.mcgovern@nokia.com>2010-02-04 03:30:09 (GMT)
committerRohan McGovern <rohan.mcgovern@nokia.com>2010-02-04 03:30:09 (GMT)
commit8e9fa6284168d15d73d7779abb784f5ceb299026 (patch)
treefdc96aea0a301af013bed644d71af03a49a085b3 /src/network/access/qhttpnetworkconnectionchannel.cpp
parent4c84020bd1c049ce82e0deb77196829616b91f4a (diff)
parent6f2d27fd686f5cef0dc52f220ffeeded529d2793 (diff)
downloadQt-8e9fa6284168d15d73d7779abb784f5ceb299026.zip
Qt-8e9fa6284168d15d73d7779abb784f5ceb299026.tar.gz
Qt-8e9fa6284168d15d73d7779abb784f5ceb299026.tar.bz2
Merge commit 'origin/4.6' into 4.6-oslo2
Conflicts: dist/changes-4.6.2
Diffstat (limited to 'src/network/access/qhttpnetworkconnectionchannel.cpp')
-rw-r--r--src/network/access/qhttpnetworkconnectionchannel.cpp27
1 files changed, 18 insertions, 9 deletions
diff --git a/src/network/access/qhttpnetworkconnectionchannel.cpp b/src/network/access/qhttpnetworkconnectionchannel.cpp
index b80ae9a..70a301d 100644
--- a/src/network/access/qhttpnetworkconnectionchannel.cpp
+++ b/src/network/access/qhttpnetworkconnectionchannel.cpp
@@ -674,15 +674,8 @@ void QHttpNetworkConnectionChannel::handleStatus()
case 407: // proxy auth required
if (connection->d_func()->handleAuthenticateChallenge(socket, reply, (statusCode == 407), resend)) {
if (resend) {
- QNonContiguousByteDevice* uploadByteDevice = request.uploadByteDevice();
- if (uploadByteDevice) {
- if (uploadByteDevice->reset()) {
- written = 0;
- } else {
- connection->d_func()->emitReplyError(socket, reply, QNetworkReply::ContentReSendError);
- break;
- }
- }
+ if (!resetUploadData())
+ break;
reply->d_func()->eraseData();
@@ -712,6 +705,22 @@ void QHttpNetworkConnectionChannel::handleStatus()
}
}
+bool QHttpNetworkConnectionChannel::resetUploadData()
+{
+ QNonContiguousByteDevice* uploadByteDevice = request.uploadByteDevice();
+ if (!uploadByteDevice)
+ return true;
+
+ if (uploadByteDevice->reset()) {
+ written = 0;
+ return true;
+ } else {
+ connection->d_func()->emitReplyError(socket, reply, QNetworkReply::ContentReSendError);
+ return false;
+ }
+}
+
+
void QHttpNetworkConnectionChannel::pipelineInto(HttpMessagePair &pair)
{
// this is only called for simple GET