diff options
author | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2007-08-15 14:15:24 +0000 |
---|---|---|
committer | Dominik Riebeling <Dominik.Riebeling@gmail.com> | 2007-08-15 14:15:24 +0000 |
commit | 8897e8cdfd9c0fbd5ba4a14df19e646391dc6cca (patch) | |
tree | cf9641ef28c6248029942c97b60a436a44d2d53d | |
parent | e59cf6b9df8f1fba48cb8137013a011012e5e52a (diff) | |
download | rockbox-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.cpp | 23 |
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 | } |