aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJonas Gastal <gastal@intel.com>2013-05-18 12:41:30 -0300
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-06-07 02:14:43 +0200
commitc3bd7f90b4ac10485740bb8bec44cfbb24237fea (patch)
treee1deca730ad4c7e0cb598b77fa404419cc868d2a /src
parent0ba38b84b606c09b803b4645897528cb17b22f93 (diff)
Fix setRequestHeader to only append to headers added by user.
This causes no behavior change. The reason for this patch is due to a planned change in QNetworkRequest that causes default headers to be added on creation. Change-Id: Ic233a12eb0aa35475300d65738ee26872349518b Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
Diffstat (limited to 'src')
-rw-r--r--src/qml/qml/qqmlxmlhttprequest.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/qml/qml/qqmlxmlhttprequest.cpp b/src/qml/qml/qqmlxmlhttprequest.cpp
index 80f5deccdb..8af1ca77c8 100644
--- a/src/qml/qml/qqmlxmlhttprequest.cpp
+++ b/src/qml/qml/qqmlxmlhttprequest.cpp
@@ -1030,6 +1030,7 @@ private:
int m_status;
QString m_statusText;
QNetworkRequest m_request;
+ QStringList m_addedHeaders;
QQmlGuard<QNetworkReply> m_network;
void destroyNetwork();
@@ -1083,6 +1084,7 @@ v8::Handle<v8::Value> QQmlXMLHttpRequest::open(v8::Handle<v8::Object> me, const
m_method = method;
m_url = url;
m_state = Opened;
+ m_addedHeaders.clear();
v8::TryCatch tc;
dispatchCallback(me);
if (tc.HasCaught()) printError(tc.Message());
@@ -1093,10 +1095,11 @@ void QQmlXMLHttpRequest::addHeader(const QString &name, const QString &value)
{
QByteArray utfname = name.toUtf8();
- if (m_request.hasRawHeader(utfname)) {
+ if (m_addedHeaders.contains(name, Qt::CaseInsensitive)) {
m_request.setRawHeader(utfname, m_request.rawHeader(utfname) + ',' + value.toUtf8());
} else {
m_request.setRawHeader(utfname, value.toUtf8());
+ m_addedHeaders.append(name);
}
}