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:
@@ -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" ) );
|
||||||
|
Reference in New Issue
Block a user