Use an owning QByteArray in ByteArraySink

Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
This commit is contained in:
TheKodeToad 2026-02-17 22:01:59 +00:00
parent 2b84053011
commit 316121ba8f
No known key found for this signature in database
GPG key ID: 5E39D70B4C93C38E
70 changed files with 397 additions and 390 deletions

View file

@ -36,8 +36,8 @@ void LauncherLoginStep::perform()
{ "Accept", "application/json" },
};
m_response.reset(new QByteArray());
m_request = Net::Upload::makeByteArray(url, m_response.get(), requestBody.toUtf8());
auto [request, response] = Net::Upload::makeByteArray(url, requestBody.toUtf8());
m_request = request;
m_request->addHeaderProxy(std::make_unique<Net::RawHeaderProxy>(headers));
m_request->enableAutoRetry(true);
@ -45,15 +45,15 @@ void LauncherLoginStep::perform()
m_task->setAskRetry(false);
m_task->addNetAction(m_request);
connect(m_task.get(), &Task::finished, this, &LauncherLoginStep::onRequestDone);
connect(m_task.get(), &Task::finished, this, [this, response] { onRequestDone(response); });
m_task->start();
qDebug() << "Getting Minecraft access token...";
}
void LauncherLoginStep::onRequestDone()
void LauncherLoginStep::onRequestDone(QByteArray* response)
{
qCDebug(authCredentials()) << *m_response;
qCDebug(authCredentials()) << *response;
if (m_request->error() != QNetworkReply::NoError) {
qWarning() << "Reply error:" << m_request->error();
if (Net::isApplicationError(m_request->error())) {
@ -65,7 +65,7 @@ void LauncherLoginStep::onRequestDone()
return;
}
if (!Parsers::parseMojangResponse(*m_response, m_data->yggdrasilToken)) {
if (!Parsers::parseMojangResponse(*response, m_data->yggdrasilToken)) {
qWarning() << "Could not parse login_with_xbox response...";
emit finished(AccountTaskState::STATE_FAILED_SOFT, tr("Failed to parse the Minecraft access token response."));
return;