Handle HTTP redirections manually

Qt doesn't support Magnet protocol so we need to handle all redirections
manually to allow redirections to Magnet URIs.
This commit is contained in:
Vladimir Golovnev (Glassez)
2020-02-11 09:31:42 +03:00
committed by sledgehammer999
parent 6ad1ba1d35
commit 5e73afa04e
3 changed files with 35 additions and 13 deletions

View File

@@ -42,7 +42,7 @@ class DownloadHandlerImpl : public Net::DownloadHandler
Q_DISABLE_COPY(DownloadHandlerImpl)
public:
explicit DownloadHandlerImpl(const Net::DownloadRequest &downloadRequest, QObject *parent);
DownloadHandlerImpl(Net::DownloadManager *manager, const Net::DownloadRequest &downloadRequest);
~DownloadHandlerImpl() override;
void cancel() override;
@@ -61,7 +61,9 @@ private:
static QString errorCodeToString(QNetworkReply::NetworkError status);
Net::DownloadManager *m_manager = nullptr;
QNetworkReply *m_reply = nullptr;
const Net::DownloadRequest m_downloadRequest;
short m_redirectionCount = 0;
Net::DownloadResult m_result;
};