diff options
author | Jonas Gastal <gastal@intel.com> | 2013-05-18 12:41:30 -0300 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-06-07 02:14:43 +0200 |
commit | c3bd7f90b4ac10485740bb8bec44cfbb24237fea (patch) | |
tree | e1deca730ad4c7e0cb598b77fa404419cc868d2a /src | |
parent | 0ba38b84b606c09b803b4645897528cb17b22f93 (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.cpp | 5 |
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); } } |