[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdelibs/kio/kio
From: Dawit Alemayehu <adawit () kde ! org>
Date: 2010-11-30 19:36:22
Message-ID: 20101130193622.07D4DAC8A3 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1202412 by adawit:
- Make sure all literal string is enclosed with QLatin1String.
- Set the attribute HttpReasonPhraseAttribute.
M +24 -10 accessmanagerreply_p.cpp
--- trunk/KDE/kdelibs/kio/kio/accessmanagerreply_p.cpp #1202411:1202412
@@ -30,7 +30,10 @@
#include <QtNetwork/QSslConfiguration>
+#define QL1S(x) QLatin1String(x)
+#define QL1C(x) QLatin1Char(x)
+
namespace KDEPrivate {
AccessManagerReply::AccessManagerReply(const QNetworkAccessManager::Operation &op,
@@ -105,7 +108,7 @@
{
if (!m_metaDataRead) {
// Set the HTTP status code...
- const QString responseCode = job->queryMetaData("responsecode");
+ const QString responseCode = job->queryMetaData(QL1S("responsecode"));
if (!responseCode.isEmpty())
setAttribute(QNetworkRequest::HttpStatusCodeAttribute, responseCode.toInt());
@@ -117,29 +120,40 @@
setSslConfiguration(sslConfig);
// Set the raw header information...
- const QString headers = job->queryMetaData("HTTP-Headers");
+ const QString headers = job->queryMetaData(QL1S("HTTP-Headers"));
if (!headers.isEmpty()) {
- const QStringList httpHeaders (headers.split(QLatin1Char('\n')));
+ const QStringList httpHeaders (headers.split(QL1C('\n')));
Q_FOREACH(const QString& httpHeader, httpHeaders) {
- int index = httpHeader.indexOf(QLatin1Char(':'));
- if (index == -1)
- continue; // Ignore the HTTP status line...
+ int index = httpHeader.indexOf(QL1C(':'));
+ // Ignore the HTTP status line...
+ if (index == -1 && httpHeader.startsWith(QL1S("HTTP/"), Qt::CaseInsensitive)) {
+ index = httpHeader.indexOf(responseCode);
+ if (index > -1) {
+ index += responseCode.length();
+ if (index < httpHeader.length()) {
+ const QString& reasonPhrase = httpHeader.mid(index).trimmed();
+ setAttribute(QNetworkRequest::HttpReasonPhraseAttribute, reasonPhrase);
+ //kDebug(7044) << "Set reason phrase to" << reasonPhrase;
+ }
+ }
+ continue;
+ }
const QString headerName = httpHeader.left(index);
QString headerValue = httpHeader.mid(index+1);
// Skip setting cookies since they are automatically handled by kio_http...
- if (headerName.startsWith("set-cookie", Qt::CaseInsensitive))
+ if (headerName.startsWith(QL1S("set-cookie"), Qt::CaseInsensitive))
continue;
// Without overridding the corrected mime-type sent by kio_http, add
// back the "charset=" portion of the content-type header if present.
- if (headerName.startsWith("content-type", Qt::CaseInsensitive)) {
+ if (headerName.startsWith(QL1S("content-type"), Qt::CaseInsensitive)) {
const QString mimeType = header(QNetworkRequest::ContentTypeHeader).toString();
if (!headerValue.contains(mimeType, Qt::CaseInsensitive)) {
- index = headerValue.indexOf(QLatin1Char(';'));
+ index = headerValue.indexOf(QL1C(';'));
if (index == -1)
headerValue = mimeType;
else
headerValue.replace(0, index, mimeType);
- kDebug(7044) << "Changed mime-type from" << mimeType << "to" << headerValue;
+ //kDebug(7044) << "Changed mime-type from" << mimeType << "to" << headerValue;
}
}
// kDebug(7044) << "Adding header:" << headerName << ":" << headerValue;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic