From eba9b3d759dbf6e402e91ab897059f1d274aef90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Wed, 2 Oct 2013 23:35:45 +0200 Subject: Add user agent header to most MultiMC download requests. --- logic/lists/ForgeVersionList.cpp | 14 +++++++++++++- logic/lists/ForgeVersionList.h | 1 + logic/net/ByteArrayDownload.cpp | 30 ++++++++++++++++-------------- logic/net/CacheDownload.cpp | 1 + logic/net/FileDownload.cpp | 1 + logic/net/ForgeXzDownload.cpp | 1 + 6 files changed, 33 insertions(+), 15 deletions(-) diff --git a/logic/lists/ForgeVersionList.cpp b/logic/lists/ForgeVersionList.cpp index e2adbf3b..ac1a4ef5 100644 --- a/logic/lists/ForgeVersionList.cpp +++ b/logic/lists/ForgeVersionList.cpp @@ -165,11 +165,23 @@ void ForgeListLoadTask::executeTask() job->addCacheDownload(QUrl(JSON_URL), forgeListEntry); listJob.reset(job); connect(listJob.data(), SIGNAL(succeeded()), SLOT(list_downloaded())); - connect(listJob.data(), SIGNAL(failed()), SLOT(versionFileFailed())); + connect(listJob.data(), SIGNAL(failed()), SLOT(list_failed())); connect(listJob.data(), SIGNAL(progress(qint64, qint64)), SIGNAL(progress(qint64, qint64))); listJob->start(); } +void ForgeListLoadTask::list_failed() +{ + auto DlJob = listJob->first(); + auto reply = DlJob->m_reply; + if(reply) + { + qDebug() << "Getting forge version list failed: " << reply->errorString(); + } + else + qDebug() << "Getting forge version list failed for reasons unknown."; +} + void ForgeListLoadTask::list_downloaded() { QByteArray data; diff --git a/logic/lists/ForgeVersionList.h b/logic/lists/ForgeVersionList.h index 613de8a6..4abfe9ce 100644 --- a/logic/lists/ForgeVersionList.h +++ b/logic/lists/ForgeVersionList.h @@ -101,6 +101,7 @@ public: protected slots: void list_downloaded(); + void list_failed(); protected: DownloadJobPtr listJob; diff --git a/logic/net/ByteArrayDownload.cpp b/logic/net/ByteArrayDownload.cpp index 61ecc298..b7a68c60 100644 --- a/logic/net/ByteArrayDownload.cpp +++ b/logic/net/ByteArrayDownload.cpp @@ -2,8 +2,7 @@ #include "MultiMC.h" #include -ByteArrayDownload::ByteArrayDownload ( QUrl url ) - : Download() +ByteArrayDownload::ByteArrayDownload(QUrl url) : Download() { m_url = url; m_status = Job_NotStarted; @@ -12,23 +11,26 @@ ByteArrayDownload::ByteArrayDownload ( QUrl url ) void ByteArrayDownload::start() { qDebug() << "Downloading " << m_url.toString(); - QNetworkRequest request ( m_url ); + QNetworkRequest request(m_url); + request.setHeader(QNetworkRequest::UserAgentHeader, "MultiMC/5.0 (Uncached)"); auto worker = MMC->qnam(); - QNetworkReply * rep = worker->get ( request ); - - m_reply = QSharedPointer ( rep, &QObject::deleteLater ); - connect ( rep, SIGNAL ( downloadProgress ( qint64,qint64 ) ), SLOT ( downloadProgress ( qint64,qint64 ) ) ); - connect ( rep, SIGNAL ( finished() ), SLOT ( downloadFinished() ) ); - connect ( rep, SIGNAL ( error ( QNetworkReply::NetworkError ) ), SLOT ( downloadError ( QNetworkReply::NetworkError ) ) ); - connect ( rep, SIGNAL ( readyRead() ), SLOT ( downloadReadyRead() ) ); + QNetworkReply *rep = worker->get(request); + + m_reply = QSharedPointer(rep, &QObject::deleteLater); + connect(rep, SIGNAL(downloadProgress(qint64, qint64)), + SLOT(downloadProgress(qint64, qint64))); + connect(rep, SIGNAL(finished()), SLOT(downloadFinished())); + connect(rep, SIGNAL(error(QNetworkReply::NetworkError)), + SLOT(downloadError(QNetworkReply::NetworkError))); + connect(rep, SIGNAL(readyRead()), SLOT(downloadReadyRead())); } -void ByteArrayDownload::downloadProgress ( qint64 bytesReceived, qint64 bytesTotal ) +void ByteArrayDownload::downloadProgress(qint64 bytesReceived, qint64 bytesTotal) { - emit progress (index_within_job, bytesReceived, bytesTotal ); + emit progress(index_within_job, bytesReceived, bytesTotal); } -void ByteArrayDownload::downloadError ( QNetworkReply::NetworkError error ) +void ByteArrayDownload::downloadError(QNetworkReply::NetworkError error) { // error happened during download. qDebug() << "URL:" << m_url.toString().toLocal8Bit() << "Network error: " << error; @@ -38,7 +40,7 @@ void ByteArrayDownload::downloadError ( QNetworkReply::NetworkError error ) void ByteArrayDownload::downloadFinished() { // if the download succeeded - if ( m_status != Job_Failed ) + if (m_status != Job_Failed) { // nothing went wrong... m_status = Job_Finished; diff --git a/logic/net/CacheDownload.cpp b/logic/net/CacheDownload.cpp index dc2e0448..9fc1f127 100644 --- a/logic/net/CacheDownload.cpp +++ b/logic/net/CacheDownload.cpp @@ -34,6 +34,7 @@ void CacheDownload::start() qDebug() << "Downloading " << m_url.toString(); QNetworkRequest request(m_url); request.setRawHeader(QString("If-None-Match").toLatin1(), m_entry->etag.toLatin1()); + request.setHeader(QNetworkRequest::UserAgentHeader,"MultiMC/5.0 (Cached)"); auto worker = MMC->qnam(); QNetworkReply *rep = worker->get(request); diff --git a/logic/net/FileDownload.cpp b/logic/net/FileDownload.cpp index aad4a991..353fd58b 100644 --- a/logic/net/FileDownload.cpp +++ b/logic/net/FileDownload.cpp @@ -46,6 +46,7 @@ void FileDownload::start() qDebug() << "Downloading " << m_url.toString(); QNetworkRequest request ( m_url ); request.setRawHeader(QString("If-None-Match").toLatin1(), m_expected_md5.toLatin1()); + request.setHeader(QNetworkRequest::UserAgentHeader,"MultiMC/5.0 (Uncached)"); auto worker = MMC->qnam(); QNetworkReply * rep = worker->get ( request ); diff --git a/logic/net/ForgeXzDownload.cpp b/logic/net/ForgeXzDownload.cpp index dde36f4e..6d66abce 100644 --- a/logic/net/ForgeXzDownload.cpp +++ b/logic/net/ForgeXzDownload.cpp @@ -35,6 +35,7 @@ void ForgeXzDownload::start() qDebug() << "Downloading " << m_url.toString(); QNetworkRequest request(m_url); request.setRawHeader(QString("If-None-Match").toLatin1(), m_entry->etag.toLatin1()); + request.setHeader(QNetworkRequest::UserAgentHeader,"MultiMC/5.0 (Cached)"); auto worker = MMC->qnam(); QNetworkReply *rep = worker->get(request); -- cgit v1.2.3