[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-12-01 0:10:35
Message-ID: 20101201001035.1A986AC8A3 () svn ! kde ! org
[Download RAW message or body]
SVN commit 1202463 by adawit:
Reduced if statement nesting where possible
M +17 -12 accessmanagerreply_p.cpp
--- trunk/KDE/kdelibs/kio/kio/accessmanagerreply_p.cpp #1202462:1202463
@@ -120,29 +120,34 @@
setSslConfiguration(sslConfig);
// Set the raw header information...
- const QString headers = job->queryMetaData(QL1S("HTTP-Headers"));
- if (!headers.isEmpty()) {
- const QStringList httpHeaders (headers.split(QL1C('\n')));
+ const QStringList httpHeaders (job->queryMetaData(QL1S("HTTP-Headers")).split(QL1C('\n')));
Q_FOREACH(const QString& httpHeader, httpHeaders) {
int index = httpHeader.indexOf(QL1C(':'));
// Ignore the HTTP status line...
- if (index == -1 && httpHeader.startsWith(QL1S("HTTP/"), Qt::CaseInsensitive)) {
+ if (index == -1) {
+ // Except for the status line, all HTTP headers must be a name/value pair,i.e "<name>:<value>"
+ if (!httpHeader.startsWith(QL1S("HTTP/"), Qt::CaseInsensitive))
+ continue;
+
+ // Further validate the status line to make sure it contains the response code...
index = httpHeader.indexOf(responseCode);
- if (index > -1) {
+ if (index == -1)
+ continue;
+
+ // Assign the status/reason pharse...
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;
- }
- }
+ if (index < httpHeader.length())
+ setAttribute(QNetworkRequest::HttpReasonPhraseAttribute, httpHeader.mid(index).trimmed());
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(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(QL1S("content-type"), Qt::CaseInsensitive)) {
@@ -156,10 +161,10 @@
//kDebug(7044) << "Changed mime-type from" << mimeType << "to" << headerValue;
}
}
+
// kDebug(7044) << "Adding header:" << headerName << ":" << headerValue;
setRawHeader(headerName.trimmed().toUtf8(), headerValue.trimmed().toUtf8());
}
- }
// Set the returned meta data as attribute...
setAttribute(static_cast<QNetworkRequest::Attribute>(KIO::AccessManager::MetaData),
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic