forked from qt-creator/qt-creator
Axivion: Propagate cancellation form future to network reply (abort it)
Change-Id: Ibcad2410276dbf752f73fbc8c9091156892670ff Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -81,6 +81,7 @@ QFuture<DashboardClient::RawProjectInfo> DashboardClient::fetchProjectInfo(const
|
|||||||
request.setRawHeader(QByteArrayLiteral(u8"X-Axivion-User-Agent"), ua);
|
request.setRawHeader(QByteArrayLiteral(u8"X-Axivion-User-Agent"), ua);
|
||||||
std::shared_ptr<QNetworkReply> reply{ this->m_networkAccessManager.get(request), deleteLater };
|
std::shared_ptr<QNetworkReply> reply{ this->m_networkAccessManager.get(request), deleteLater };
|
||||||
return QtFuture::connect(reply.get(), &QNetworkReply::finished)
|
return QtFuture::connect(reply.get(), &QNetworkReply::finished)
|
||||||
|
.onCanceled(reply.get(), [reply] { reply->abort(); })
|
||||||
.then(RawBodyReader(reply))
|
.then(RawBodyReader(reply))
|
||||||
.then(QtFuture::Launch::Async, &RawBodyParser<Dto::ProjectInfoDto>);
|
.then(QtFuture::Launch::Async, &RawBodyParser<Dto::ProjectInfoDto>);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user