[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: branches/KDE/4.3/kdelibs/kio/kio
From: Dawit Alemayehu <adawit () kde ! org>
Date: 2009-09-24 23:08:47
Message-ID: 1253833727.535602.27858.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 1027857 by adawit:
- Added attribute enumerations to make it easier to identify KDE/KIO specific ones.
- Propagate error codes that cannot mapped into QNetworkReply::NetworkError through
QNetworkRequest's attribute system.
M +2 -2 accessmanager.cpp
M +10 -0 accessmanager.h
M +8 -4 accessmanagerreply_p.cpp
--- branches/KDE/4.3/kdelibs/kio/kio/accessmanager.cpp #1027856:1027857
@@ -116,7 +116,7 @@
kioJob->addMetaData("content-type", "Content-Type: \
application/x-www-form-urlencoded"); }
- kDebug () << "Job '" << kioJob << "' started...";
+ //kDebug () << "Job '" << kioJob << "' started...";
return reply;
}
@@ -126,7 +126,7 @@
KIO::MetaData metaData;
// Add the user-specified meta data first...
- QVariant userMetaData = request.attribute (QNetworkRequest::User);
+ QVariant userMetaData = request.attribute \
(static_cast<QNetworkRequest::Attribute>(MetaData)); if (userMetaData.isValid() && \
userMetaData.type() == QVariant::Map) { metaData += userMetaData.toMap();
}
--- branches/KDE/4.3/kdelibs/kio/kio/accessmanager.h #1027856:1027857
@@ -24,6 +24,7 @@
#define KIO_ACCESSMANAGER_H
#include <QtNetwork/QNetworkAccessManager>
+#include <QtNetwork/QNetworkRequest>
#include <kio/global.h>
@@ -42,6 +43,15 @@
{
Q_OBJECT
public:
+ /*!
+ Extensions to QNetworkRequest::Attribute enums.
+ @since 4.3.2
+ */
+ enum Attribute {
+ MetaData = QNetworkRequest::User, /** < Used to send KIO MetaData back and \
forth. type: QVariant::Map. */ + KioError /**< Used to send KIO error codes \
that cannot be mapped into QNetworkReply::NetworkError. type: QVariant::Int */ + \
}; +
AccessManager(QObject *parent);
virtual ~AccessManager();
/**
--- branches/KDE/4.3/kdelibs/kio/kio/accessmanagerreply_p.cpp #1027856:1027857
@@ -22,6 +22,7 @@
*/
#include "accessmanagerreply_p.h"
+#include "accessmanager.h"
#include <kdebug.h>
#include <job.h>
@@ -158,7 +159,8 @@
void AccessManagerReply::jobDone(KJob *kJob)
{
- switch (kJob->error())
+ const int errcode = kJob->error();
+ switch (errcode)
{
case 0:
setError(QNetworkReply::NoError, kJob->errorText());
@@ -200,12 +202,12 @@
break;
case KIO::ERR_COULD_NOT_AUTHENTICATE:
setError(QNetworkReply::AuthenticationRequiredError, kJob->errorText());
- kDebug() << kJob->error();
+ kDebug() << errcode;
break;
case KIO::ERR_UNSUPPORTED_PROTOCOL:
case KIO::ERR_NO_SOURCE_PROTOCOL:
setError(QNetworkReply::ProtocolUnknownError, kJob->errorText());
- kDebug() << kJob->error();
+ kDebug() << errcode;
break;
case KIO::ERR_UNSUPPORTED_ACTION:
setError(QNetworkReply::ProtocolInvalidOperationError, \
kJob->errorText()); @@ -213,7 +215,8 @@
break;
default:
setError(QNetworkReply::UnknownNetworkError, errorString());
- kDebug() << kJob->error();
+ setAttribute(static_cast<QNetworkRequest::Attribute>(KIO::AccessManager::KioError), \
errcode); + kDebug() << errcode;
}
emit finished();
@@ -228,6 +231,7 @@
// temporary one assume code 302 which is most often used
if (q->attribute(QNetworkRequest::HttpStatusCodeAttribute).isNull())
q->setAttribute(QNetworkRequest::HttpStatusCodeAttribute, 302);
+
q->setAttribute(QNetworkRequest::RedirectionTargetAttribute, QUrl(url));
emit q->finished();
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic