[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    =?utf-8?q?=5Bkdelibs=5D_kio/kio=3A_Ensure_HTTP_headers_from_kio?=
From:       Dawit Alemayehu <adawit () kde ! org>
Date:       2011-05-07 19:40:05
Message-ID: 20110507194005.44C3EA60A6 () git ! kde ! org
[Download RAW message or body]

Git commit 37be6b93f0b3d1f8b331808fe1c38dd4ead4c0cc by Dawit Alemayehu.
Committed on 07/05/2011 at 21:31.
Pushed by adawit into branch 'master'.

Ensure HTTP headers from kio_http are always set regardless of error condition.
(cherry picked from commit ebd556b0435d390f01383f159877834dc675409a)

M  +6    -3    kio/kio/accessmanagerreply_p.cpp     

http://commits.kde.org/kdelibs/37be6b93f0b3d1f8b331808fe1c38dd4ead4c0cc

diff --git a/kio/kio/accessmanagerreply_p.cpp b/kio/kio/accessmanagerreply_p.cpp
index 10ea148..50cef41 100644
--- a/kio/kio/accessmanagerreply_p.cpp
+++ b/kio/kio/accessmanagerreply_p.cpp
@@ -312,14 +312,17 @@ void AccessManagerReply::slotResult(KJob *kJob)
     const int errcode = jobError(kJob);
 
     const QUrl redirectUrl = attribute(QNetworkRequest::RedirectionTargetAttribute).toUrl();
-    if (redirectUrl.isValid() || !hasRawHeader("content-type")) {
-        readHttpResponseHeaders(qobject_cast<KIO::Job*>(kJob));
-    } else {
+    if (!redirectUrl.isValid()) {
         setAttribute(static_cast<QNetworkRequest::Attribute>(KIO::AccessManager::KioError), errcode);
         if (errcode && errcode != KIO::ERR_NO_CONTENT)
             emit error(error());
     }
 
+    // Make sure HTTP response headers are always set.
+    if (!m_metaDataRead) {
+        readHttpResponseHeaders(qobject_cast<KIO::Job*>(kJob));
+    }
+
     emit finished();
 }
 

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic