Work around magnet redirection in feeds

This commit is contained in:
Nick Tiskov
2014-09-16 00:35:46 +04:00
parent 94043e60c7
commit a7e445c575
4 changed files with 28 additions and 3 deletions

View File

@@ -121,6 +121,14 @@ void DownloadThread::processDlFinished(QNetworkReply* reply) {
newUrl = reply->url().resolved(newUrl);
const QString newUrlString = newUrl.toString();
qDebug("Redirecting from %s to %s", qPrintable(url), qPrintable(newUrlString));
// Redirect to magnet workaround
if (newUrlString.startsWith("magnet:", Qt::CaseInsensitive)) {
qDebug("Magnet redirect detected.");
reply->abort();
emit magnetRedirect(newUrlString, url);
reply->deleteLater();
return;
}
m_redirectMapping.insert(newUrlString, url);
// redirecting with first cookies
downloadUrl(newUrlString, m_networkManager.cookieJar()->cookiesForUrl(url));