Store original url before any redirects

This commit is contained in:
craig.p.drummond
2013-10-02 20:16:35 +00:00
committed by craig.p.drummond
parent 7b36d7b2fd
commit 9ee4eed36d
3 changed files with 7 additions and 4 deletions

View File

@@ -1159,16 +1159,16 @@ void StreamsModel::jobFinished()
if (cat==favourites) {
newItems=favourites->loadXml(job->actualJob());
} else if (QLatin1String("http")==job->url().scheme()) {
QString url=job->url().toString();
if (constRadioTimeHost==job->url().host()) {
QString url=job->origUrl().toString();
if (constRadioTimeHost==job->origUrl().host()) {
newItems=parseRadioTimeResponse(job->actualJob(), cat);
} else if (constIceCastUrl==url) {
newItems=parseIceCastResponse(job->actualJob(), cat);
} else if (constSomaFMUrl==url) {
newItems=parseSomaFmResponse(job->actualJob(), cat);
} else if (constDiChannelListHost==job->url().host()) {
} else if (constDiChannelListHost==job->origUrl().host()) {
newItems=parseDigitallyImportedResponse(job->actualJob(), cat);
} else if (constShoutCastHost==job->url().host()) {
} else if (constShoutCastHost==job->origUrl().host()) {
newItems=parseShoutCastResponse(job->actualJob(), cat, job->property(constOrigUrlProperty).toString());
} else {
newItems=parseListenLiveResponse(job->actualJob(), cat);

View File

@@ -37,6 +37,7 @@ NetworkJob::NetworkJob(QNetworkReply *j)
, lastDownloadPc(0)
, job(j)
{
origU=j ? j->url() : QUrl();
connect(job, SIGNAL(finished()), this, SLOT(jobFinished()));
connect(job, SIGNAL(readyRead()), this, SLOT(handleReadyRead()));
connect(job, SIGNAL(error(QNetworkReply::NetworkError)), this, SIGNAL(error(QNetworkReply::NetworkError)));

View File

@@ -53,6 +53,7 @@ public:
void close() { if (job) job->close(); }
QUrl url() const { return job ? job->url() : QUrl(); }
QUrl origUrl() const { return origU; }
QNetworkReply::NetworkError error() const { return job ? job->error() : QNetworkReply::NoError; }
QString errorString() const { return job ? job->errorString() : QString(); }
QByteArray readAll() { return job ? job->readAll() : QByteArray(); }
@@ -78,6 +79,7 @@ private:
int numRedirects;
int lastDownloadPc;
QNetworkReply *job;
QUrl origU;
};
class NetworkAccessManager : public BASE_NETWORK_ACCESS_MANAGER