diff options
author | Rohan McGovern <rohan.mcgovern@nokia.com> | 2010-02-04 03:30:09 (GMT) |
---|---|---|
committer | Rohan McGovern <rohan.mcgovern@nokia.com> | 2010-02-04 03:30:09 (GMT) |
commit | 8e9fa6284168d15d73d7779abb784f5ceb299026 (patch) | |
tree | fdc96aea0a301af013bed644d71af03a49a085b3 /src/network/access/qhttpnetworkconnectionchannel.cpp | |
parent | 4c84020bd1c049ce82e0deb77196829616b91f4a (diff) | |
parent | 6f2d27fd686f5cef0dc52f220ffeeded529d2793 (diff) | |
download | Qt-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.cpp | 27 |
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 |