diff options
-rw-r--r-- | src/oauth/qoauth1.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/oauth/qoauth1.cpp b/src/oauth/qoauth1.cpp index bc60377..8063b2e 100644 --- a/src/oauth/qoauth1.cpp +++ b/src/oauth/qoauth1.cpp @@ -144,7 +144,8 @@ void QOAuth1Private::appendSignature(QAbstractOAuth::Stage stage, { QByteArray signature; { - QVariantMap allParameters = QVariantMap(*headers).unite(parameters); + QMultiMap<QString, QVariant> headerCopy = *headers; + QVariantMap allParameters = headerCopy.unite(parameters); if (modifyParametersFunction) modifyParametersFunction(stage, &allParameters); signature = generateSignature(allParameters, url, operation); @@ -763,7 +764,8 @@ void QOAuth1::setup(QNetworkRequest *request, // Add signature parameter { - const auto parameters = QVariantMap(oauthParams).unite(signingParameters); + QMultiMap<QString, QVariant> oauthParamsCopy(oauthParams); + const auto parameters = oauthParamsCopy.unite(signingParameters); const auto signature = d->generateSignature(parameters, request->url(), operation); oauthParams.insert(Key::oauthSignature, signature); } @@ -803,7 +805,8 @@ void QOAuth1::setup(QNetworkRequest *request, const QVariantMap &signingParamete // Add signature parameter { - const auto parameters = QVariantMap(oauthParams).unite(signingParameters); + QMultiMap<QString, QVariant> oauthParamsCopy(oauthParams); + const auto parameters = oauthParamsCopy.unite(signingParameters); const auto signature = d->generateSignature(parameters, request->url(), operationVerb); oauthParams.insert(Key::oauthSignature, signature); } |