summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDominik Riebeling <Dominik.Riebeling@gmail.com>2007-08-15 14:15:24 +0000
committerDominik Riebeling <Dominik.Riebeling@gmail.com>2007-08-15 14:15:24 +0000
commit8897e8cdfd9c0fbd5ba4a14df19e646391dc6cca (patch)
treecf9641ef28c6248029942c97b60a436a44d2d53d
parente59cf6b9df8f1fba48cb8137013a011012e5e52a (diff)
downloadrockbox-8897e8cdfd9c0fbd5ba4a14df19e646391dc6cca.tar.gz
rockbox-8897e8cdfd9c0fbd5ba4a14df19e646391dc6cca.zip
more fixing on downloading class: toEncoded can't be used as get parameter. Use path() and construct query parameters ourselves.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14355 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--rbutil/rbutilqt/httpget.cpp23
1 files changed, 15 insertions, 8 deletions
diff --git a/rbutil/rbutilqt/httpget.cpp b/rbutil/rbutilqt/httpget.cpp
index e54df73c3f..d1c80b8aff 100644
--- a/rbutil/rbutilqt/httpget.cpp
+++ b/rbutil/rbutilqt/httpget.cpp
@@ -109,13 +109,23 @@ bool HttpGet::getFile(const QUrl &url)
}
}
http.setHost(url.host(), url.port(80));
+ // construct query (if any)
+ QList<QPair<QString, QString> > qitems = url.queryItems();
+ QString query;
+ if(url.hasQuery()) {
+ query = "?";
+ for(int i = 0; i < qitems.size(); i++)
+ query += qitems.at(i).first + "=" + qitems.at(i).second + "&";
+ qDebug() << query;
+ }
+
if(outputToBuffer) {
- qDebug() << "downloading to buffer:" << QString(url.toEncoded());
- getRequest = http.get(QString(url.toEncoded()));
+ qDebug() << "downloading to buffer:" << url.toString();
+ getRequest = http.get(url.path() + query);
}
else {
- qDebug() << "downloading to file:" << QString(url.toEncoded()) << qPrintable(outputFile->fileName());
- getRequest = http.get(QString(url.toEncoded()), outputFile);
+ qDebug() << "downloading to file:" << url.toString() << qPrintable(outputFile->fileName());
+ getRequest = http.get(url.path() + query, outputFile);
}
qDebug() << "request scheduled: GET" << getRequest;
@@ -129,11 +139,8 @@ void HttpGet::httpDone(bool error)
if (error) {
qDebug() << "Error: " << qPrintable(http.errorString()) << endl;
}
- if(!outputToBuffer) {
+ if(!outputToBuffer)
outputFile->close();
- qDebug() << "File downloaded as" << qPrintable(outputFile->fileName());
- }
- else qDebug() << "file downloaded to buffer";
emit done(error);
}