Skip to content

Commit

Permalink
Set Tomahawk's User-Agent on requests to Musicbrainz
Browse files Browse the repository at this point in the history
  • Loading branch information
theli-ua committed Jan 30, 2017
1 parent 3b6ba36 commit 97a407f
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 6 deletions.
23 changes: 17 additions & 6 deletions src/infoplugins/generic/musicbrainz/MusicBrainzPlugin.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
#include "utils/TomahawkUtils.h"
#include "utils/Logger.h"
#include "utils/NetworkAccessManager.h"
#include "TomahawkVersion.h"

#include <QNetworkReply>
#include <QDomDocument>
Expand Down Expand Up @@ -88,6 +89,16 @@ MusicBrainzPlugin::getInfo( Tomahawk::InfoSystem::InfoRequestData requestData )
}
}

QNetworkReply*
MusicBrainzPlugin::getUrl(QUrl url, QVariant requestData)
{
QNetworkRequest request = QNetworkRequest( url );
QByteArray userAgent = TomahawkUtils::userAgentString( TOMAHAWK_APPLICATION_NAME, TOMAHAWK_VERSION ).toUtf8();
request.setRawHeader( "User-Agent", userAgent );
QNetworkReply* reply = Tomahawk::Utils::nam()->get( request );
reply->setProperty( "requestData", requestData );
return reply;
}

void
MusicBrainzPlugin::notInCacheSlot( InfoStringHash criteria, InfoRequestData requestData )
Expand All @@ -111,8 +122,7 @@ MusicBrainzPlugin::notInCacheSlot( InfoStringHash criteria, InfoRequestData requ
TomahawkUtils::urlAddQueryItem( url, "limit", "100" );

tDebug() << Q_FUNC_INFO << url.toString();
QNetworkReply* reply = Tomahawk::Utils::nam()->get( QNetworkRequest( url ) );
reply->setProperty( "requestData", QVariant::fromValue< Tomahawk::InfoSystem::InfoRequestData >( requestData ) );
QNetworkReply* reply = getUrl( url, QVariant::fromValue< Tomahawk::InfoSystem::InfoRequestData >( requestData ) );

connect( reply, SIGNAL( finished() ), SLOT( gotReleaseGroupsSlot() ) );

Expand All @@ -131,8 +141,7 @@ MusicBrainzPlugin::notInCacheSlot( InfoStringHash criteria, InfoRequestData requ
TomahawkUtils::urlAddQueryItem( url, "limit", "100" );

tDebug() << Q_FUNC_INFO << url.toString();
QNetworkReply* reply = Tomahawk::Utils::nam()->get( QNetworkRequest( url ) );
reply->setProperty( "requestData", QVariant::fromValue< Tomahawk::InfoSystem::InfoRequestData >( requestData ) );
QNetworkReply* reply = getUrl( url, QVariant::fromValue< Tomahawk::InfoSystem::InfoRequestData >( requestData ) );

connect( reply, SIGNAL( finished() ), SLOT( gotReleasesSlot() ) );

Expand All @@ -154,6 +163,7 @@ MusicBrainzPlugin::gotReleaseGroupsSlot()
if ( !oldReply )
return; //timeout will handle it
oldReply->deleteLater();
tDebug() << Q_FUNC_INFO << "HTTP response code:" << oldReply->attribute( QNetworkRequest::HttpStatusCodeAttribute ).toInt();

QDomDocument doc;
doc.setContent( oldReply->readAll() );
Expand Down Expand Up @@ -237,8 +247,7 @@ MusicBrainzPlugin::gotReleasesSlot()
TomahawkUtils::urlAddQueryItem( url, "inc", "recordings" );
tDebug() << Q_FUNC_INFO << url.toString();

QNetworkReply* newReply = Tomahawk::Utils::nam()->get( QNetworkRequest( url ) );
newReply->setProperty( "requestData", oldReply->property( "requestData" ) );
QNetworkReply* newReply = getUrl( url, oldReply->property( "requestData" ) );
connect( newReply, SIGNAL( finished() ), SLOT( gotRecordingsSlot() ) );

break;
Expand All @@ -261,6 +270,8 @@ MusicBrainzPlugin::gotRecordingsSlot()
return; //timeout will handle it
reply->deleteLater();

tDebug() << Q_FUNC_INFO << "HTTP response code:" << reply->attribute( QNetworkRequest::HttpStatusCodeAttribute ).toInt();

QDomDocument doc;
doc.setContent( reply->readAll() );
QDomNodeList mediumList = doc.elementsByTagName( "medium-list" );
Expand Down
1 change: 1 addition & 0 deletions src/infoplugins/generic/musicbrainz/MusicBrainzPlugin.h
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ private slots:
void gotReleaseGroupsSlot();
void gotReleasesSlot();
void gotRecordingsSlot();
QNetworkReply* getUrl( QUrl url, QVariant requestData );
};

}
Expand Down

0 comments on commit 97a407f

Please sign in to comment.