Add user agent header to most MultiMC download requests.

This commit is contained in:
Petr Mrázek 2013-10-02 23:35:45 +02:00
parent 48bd3add29
commit eba9b3d759
6 changed files with 33 additions and 15 deletions

View File

@ -165,11 +165,23 @@ void ForgeListLoadTask::executeTask()
job->addCacheDownload(QUrl(JSON_URL), forgeListEntry); job->addCacheDownload(QUrl(JSON_URL), forgeListEntry);
listJob.reset(job); listJob.reset(job);
connect(listJob.data(), SIGNAL(succeeded()), SLOT(list_downloaded())); 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))); connect(listJob.data(), SIGNAL(progress(qint64, qint64)), SIGNAL(progress(qint64, qint64)));
listJob->start(); 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() void ForgeListLoadTask::list_downloaded()
{ {
QByteArray data; QByteArray data;

View File

@ -101,6 +101,7 @@ public:
protected protected
slots: slots:
void list_downloaded(); void list_downloaded();
void list_failed();
protected: protected:
DownloadJobPtr listJob; DownloadJobPtr listJob;

View File

@ -2,8 +2,7 @@
#include "MultiMC.h" #include "MultiMC.h"
#include <QDebug> #include <QDebug>
ByteArrayDownload::ByteArrayDownload ( QUrl url ) ByteArrayDownload::ByteArrayDownload(QUrl url) : Download()
: Download()
{ {
m_url = url; m_url = url;
m_status = Job_NotStarted; m_status = Job_NotStarted;
@ -12,23 +11,26 @@ ByteArrayDownload::ByteArrayDownload ( QUrl url )
void ByteArrayDownload::start() void ByteArrayDownload::start()
{ {
qDebug() << "Downloading " << m_url.toString(); 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(); auto worker = MMC->qnam();
QNetworkReply * rep = worker->get ( request ); QNetworkReply *rep = worker->get(request);
m_reply = QSharedPointer<QNetworkReply> ( rep, &QObject::deleteLater ); m_reply = QSharedPointer<QNetworkReply>(rep, &QObject::deleteLater);
connect ( rep, SIGNAL ( downloadProgress ( qint64,qint64 ) ), SLOT ( downloadProgress ( qint64,qint64 ) ) ); connect(rep, SIGNAL(downloadProgress(qint64, qint64)),
connect ( rep, SIGNAL ( finished() ), SLOT ( downloadFinished() ) ); SLOT(downloadProgress(qint64, qint64)));
connect ( rep, SIGNAL ( error ( QNetworkReply::NetworkError ) ), SLOT ( downloadError ( QNetworkReply::NetworkError ) ) ); connect(rep, SIGNAL(finished()), SLOT(downloadFinished()));
connect ( rep, SIGNAL ( readyRead() ), SLOT ( downloadReadyRead() ) ); 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. // error happened during download.
qDebug() << "URL:" << m_url.toString().toLocal8Bit() << "Network error: " << error; qDebug() << "URL:" << m_url.toString().toLocal8Bit() << "Network error: " << error;
@ -38,7 +40,7 @@ void ByteArrayDownload::downloadError ( QNetworkReply::NetworkError error )
void ByteArrayDownload::downloadFinished() void ByteArrayDownload::downloadFinished()
{ {
// if the download succeeded // if the download succeeded
if ( m_status != Job_Failed ) if (m_status != Job_Failed)
{ {
// nothing went wrong... // nothing went wrong...
m_status = Job_Finished; m_status = Job_Finished;

View File

@ -34,6 +34,7 @@ void CacheDownload::start()
qDebug() << "Downloading " << m_url.toString(); qDebug() << "Downloading " << m_url.toString();
QNetworkRequest request(m_url); QNetworkRequest request(m_url);
request.setRawHeader(QString("If-None-Match").toLatin1(), m_entry->etag.toLatin1()); request.setRawHeader(QString("If-None-Match").toLatin1(), m_entry->etag.toLatin1());
request.setHeader(QNetworkRequest::UserAgentHeader,"MultiMC/5.0 (Cached)");
auto worker = MMC->qnam(); auto worker = MMC->qnam();
QNetworkReply *rep = worker->get(request); QNetworkReply *rep = worker->get(request);

View File

@ -46,6 +46,7 @@ void FileDownload::start()
qDebug() << "Downloading " << m_url.toString(); qDebug() << "Downloading " << m_url.toString();
QNetworkRequest request ( m_url ); QNetworkRequest request ( m_url );
request.setRawHeader(QString("If-None-Match").toLatin1(), m_expected_md5.toLatin1()); request.setRawHeader(QString("If-None-Match").toLatin1(), m_expected_md5.toLatin1());
request.setHeader(QNetworkRequest::UserAgentHeader,"MultiMC/5.0 (Uncached)");
auto worker = MMC->qnam(); auto worker = MMC->qnam();
QNetworkReply * rep = worker->get ( request ); QNetworkReply * rep = worker->get ( request );

View File

@ -35,6 +35,7 @@ void ForgeXzDownload::start()
qDebug() << "Downloading " << m_url.toString(); qDebug() << "Downloading " << m_url.toString();
QNetworkRequest request(m_url); QNetworkRequest request(m_url);
request.setRawHeader(QString("If-None-Match").toLatin1(), m_entry->etag.toLatin1()); request.setRawHeader(QString("If-None-Match").toLatin1(), m_entry->etag.toLatin1());
request.setHeader(QNetworkRequest::UserAgentHeader,"MultiMC/5.0 (Cached)");
auto worker = MMC->qnam(); auto worker = MMC->qnam();
QNetworkReply *rep = worker->get(request); QNetworkReply *rep = worker->get(request);