summaryrefslogtreecommitdiff
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)
109 } 109 }
110 } 110 }
111 http.setHost(url.host(), url.port(80)); 111 http.setHost(url.host(), url.port(80));
112 // construct query (if any)
113 QList<QPair<QString, QString> > qitems = url.queryItems();
114 QString query;
115 if(url.hasQuery()) {
116 query = "?";
117 for(int i = 0; i < qitems.size(); i++)
118 query += qitems.at(i).first + "=" + qitems.at(i).second + "&";
119 qDebug() << query;
120 }
121
112 if(outputToBuffer) { 122 if(outputToBuffer) {
113 qDebug() << "downloading to buffer:" << QString(url.toEncoded()); 123 qDebug() << "downloading to buffer:" << url.toString();
114 getRequest = http.get(QString(url.toEncoded())); 124 getRequest = http.get(url.path() + query);
115 } 125 }
116 else { 126 else {
117 qDebug() << "downloading to file:" << QString(url.toEncoded()) << qPrintable(outputFile->fileName()); 127 qDebug() << "downloading to file:" << url.toString() << qPrintable(outputFile->fileName());
118 getRequest = http.get(QString(url.toEncoded()), outputFile); 128 getRequest = http.get(url.path() + query, outputFile);
119 } 129 }
120 qDebug() << "request scheduled: GET" << getRequest; 130 qDebug() << "request scheduled: GET" << getRequest;
121 131
@@ -129,11 +139,8 @@ void HttpGet::httpDone(bool error)
129 if (error) { 139 if (error) {
130 qDebug() << "Error: " << qPrintable(http.errorString()) << endl; 140 qDebug() << "Error: " << qPrintable(http.errorString()) << endl;
131 } 141 }
132 if(!outputToBuffer) { 142 if(!outputToBuffer)
133 outputFile->close(); 143 outputFile->close();
134 qDebug() << "File downloaded as" << qPrintable(outputFile->fileName());
135 }
136 else qDebug() << "file downloaded to buffer";
137 144
138 emit done(error); 145 emit done(error);
139} 146}