Ejemplo n.º 1
0
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 ();
}
Ejemplo n.º 2
0
GrooveStream::GrooveStream(QFile *cacheFile)
    : d(new Private(this))
{
    GROOVE_VERIFY_OR_DIE(cacheFile, "no cacheFile pointer provided");

    d->setCacheFile(cacheFile);
    open(QIODevice::ReadOnly);
}
Ejemplo n.º 3
0
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);
}
Ejemplo n.º 4
0
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");
}