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);
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;

View File

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

View File

@ -2,8 +2,7 @@
#include "MultiMC.h"
#include <QDebug>
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<QNetworkReply> ( 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<QNetworkReply>(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;

View File

@ -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);

View File

@ -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 );

View File

@ -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);