1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-08-13 01:24:11 +02:00

* Don't accept empty queries from web API.

This commit is contained in:
Christian Muehlhaeuser
2012-06-26 23:15:26 +02:00
parent 937908766c
commit 4ef0d23900

View File

@@ -44,6 +44,7 @@ Api_v1::auth_1( QxtWebRequestEvent* event, QString arg )
{ {
qDebug() << "Malformed HTTP resolve request"; qDebug() << "Malformed HTTP resolve request";
send404( event ); send404( event );
return;
} }
QString formToken = uuid(); QString formToken = uuid();
@@ -253,6 +254,19 @@ Api_v1::resolve( QxtWebRequestEvent* event )
{ {
qDebug() << "Malformed HTTP resolve request"; qDebug() << "Malformed HTTP resolve request";
send404( event ); send404( event );
return;
}
const QString artist = QUrl::fromPercentEncoding( event->url.queryItemValue( "artist" ).toUtf8() );
const QString track = QUrl::fromPercentEncoding( event->url.queryItemValue( "track" ).toUtf8() );
const QString album = QUrl::fromPercentEncoding( event->url.queryItemValue( "album" ).toUtf8() );
if ( artist.trimmed().isEmpty() ||
track.trimmed().isEmpty() )
{
qDebug() << "Malformed HTTP resolve request";
send404( event );
return;
} }
QString qid; QString qid;
@@ -261,7 +275,7 @@ Api_v1::resolve( QxtWebRequestEvent* event )
else else
qid = uuid(); qid = uuid();
query_ptr qry = Query::get( QUrl::fromPercentEncoding( event->url.queryItemValue( "artist" ).toUtf8() ), QUrl::fromPercentEncoding( event->url.queryItemValue( "track" ).toUtf8() ), QUrl::fromPercentEncoding( event->url.queryItemValue( "album" ).toUtf8() ), qid, false ); query_ptr qry = Query::get( artist, track, album, qid, false );
Pipeline::instance()->resolve( qry, true, true ); Pipeline::instance()->resolve( qry, true, true );
QVariantMap r; QVariantMap r;
@@ -291,8 +305,9 @@ Api_v1::get_results( QxtWebRequestEvent* event )
{ {
if ( !event->url.hasQueryItem( "qid" ) ) if ( !event->url.hasQueryItem( "qid" ) )
{ {
qDebug() << "Malformed HTTP get_results request"; tDebug() << "Malformed HTTP get_results request";
send404( event ); send404( event );
return;
} }
query_ptr qry = Pipeline::instance()->query( event->url.queryItemValue( "qid" ) ); query_ptr qry = Pipeline::instance()->query( event->url.queryItemValue( "qid" ) );