void GrooveClient::Private::processSessionToken () { QNetworkReply *reply = qobject_cast<QNetworkReply *> (sender ()); if (GROOVE_VERIFY (reply, "called without a QNetworkReply as sender")) return; bool ok; QJson::Parser parser; QByteArray sessionTokenReply = reply->readAll (); QVariantMap result = parser.parse (sessionTokenReply, &ok).toMap (); if (!ok) LDEBUG << "Session token request failed:" << sessionTokenReply; GROOVE_VERIFY_OR_DIE (ok, "couldn't parse reply to session token request"); GROOVE_VERIFY_OR_DIE (result["message"].toString ().isEmpty (), qPrintable (result["message"].toString ())); m_sessionToken = result["result"].toString (); LDEBUG << "Got session token: " << m_sessionToken; if (!m_sessionToken.length ()) { LDEBUG << "Session token empty:"; LDEBUG << sessionTokenReply; LDEBUG << reply->errorString (); } emit connected (); }
GrooveStream::GrooveStream(QFile *cacheFile) : d(new Private(this)) { GROOVE_VERIFY_OR_DIE(cacheFile, "no cacheFile pointer provided"); d->setCacheFile(cacheFile); open(QIODevice::ReadOnly); }
GrooveStream::GrooveStream(QNetworkReply *reply, const QString &cachePath) : d(new Private(this)) { GROOVE_VERIFY_OR_DIE(reply, "no reply pointer provided"); d->setCachePath(cachePath); d->setNetworkReply(reply); open(QIODevice::ReadOnly); }
void GrooveClient::Private::processPHPSessionId () { LDEBUG << "processing"; QList<QNetworkCookie> cookieList = networkManager ().cookieJar ()->cookiesForUrl (QUrl (GroovePrivRequest::LOGIN_URL)); foreach (QNetworkCookie const &cookie, cookieList) if (cookie.name () == "PHPSESSID") { m_phpCookie = cookie.value (); LDEBUG << "Got PHP cookie: " << qPrintable (m_phpCookie); fetchSessionToken (); return; } /* FIXME */ GROOVE_VERIFY_OR_DIE (m_phpCookie.length (), "PHP cookie couldn't be set"); }