Axivion: Reuse AxivionPluginPrivate::m_apiToken field in fetchHtmlRecipe

Change-Id: I6bb37678000ba755d65b0275c4350815a9047880
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Jarek Kobus
2024-02-15 00:08:16 +01:00
parent bc63b678bd
commit ae20f94949

View File

@@ -317,29 +317,22 @@ constexpr char s_jsonContentType[] = "application/json";
static Group fetchHtmlRecipe(const QUrl &url, const std::function<void(const QByteArray &)> &handler) static Group fetchHtmlRecipe(const QUrl &url, const std::function<void(const QByteArray &)> &handler)
{ {
struct StorageData
{
QByteArray credentials;
};
const Storage<StorageData> storage;
// TODO: Refactor so that it's a common code with fetchDataRecipe(). // TODO: Refactor so that it's a common code with fetchDataRecipe().
const auto onCredentialSetup = [storage] { const auto onQuerySetup = [url](NetworkQuery &query) {
storage->credentials = QByteArrayLiteral("AxToken ") + settings().server.token.toUtf8(); if (dd->m_serverAccess == ServerAccess::Unknown)
}; return SetupResult::StopWithError; // TODO: start authorizationRecipe()?
const auto onQuerySetup = [storage, url](NetworkQuery &query) {
QNetworkRequest request(url); QNetworkRequest request(url);
request.setRawHeader("Accept", s_htmlContentType); request.setRawHeader("Accept", s_htmlContentType);
request.setRawHeader("Authorization", storage->credentials); if (dd->m_serverAccess == ServerAccess::WithAuthorization && dd->m_apiToken)
request.setRawHeader("Authorization", "AxToken " + *dd->m_apiToken);
const QByteArray ua = "Axivion" + QCoreApplication::applicationName().toUtf8() + const QByteArray ua = "Axivion" + QCoreApplication::applicationName().toUtf8() +
"Plugin/" + QCoreApplication::applicationVersion().toUtf8(); "Plugin/" + QCoreApplication::applicationVersion().toUtf8();
request.setRawHeader("X-Axivion-User-Agent", ua); request.setRawHeader("X-Axivion-User-Agent", ua);
query.setRequest(request); query.setRequest(request);
query.setNetworkAccessManager(&dd->m_networkAccessManager); query.setNetworkAccessManager(&dd->m_networkAccessManager);
return SetupResult::Continue;
}; };
const auto onQueryDone = [url, handler](const NetworkQuery &query, DoneWith doneWith) { const auto onQueryDone = [url, handler](const NetworkQuery &query, DoneWith doneWith) {
QNetworkReply *reply = query.reply(); QNetworkReply *reply = query.reply();
const int statusCode = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt(); const int statusCode = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
@@ -356,14 +349,7 @@ static Group fetchHtmlRecipe(const QUrl &url, const std::function<void(const QBy
} }
return DoneResult::Error; return DoneResult::Error;
}; };
return {NetworkQueryTask(onQuerySetup, onQueryDone)};
const Group recipe {
storage,
Sync(onCredentialSetup),
NetworkQueryTask(onQuerySetup, onQueryDone),
};
return recipe;
} }
template <typename DtoType> template <typename DtoType>