예제 #1
0
AlbumListPrivate::AlbumListPrivate(QNetworkReply *reply, AlbumList *parent) :
    q_ptr(parent),
    m_reply(reply),
    m_error(AlbumList::NoError)
{
    Q_Q(AlbumList);

    if (m_reply) {
        q->connect(m_reply, SIGNAL(finished()), q, SLOT(_q_onReplyFinished()));
    }
}
예제 #2
0
void RequestPrivate::followRedirect(const QUrl &redirect) {
    Q_Q(Request);
    
    redirects++;
    
    if (reply) {
        delete reply;
    }
        
    reply = networkAccessManager()->get(buildRequest(redirect));
    Request::connect(reply, SIGNAL(finished()), q, SLOT(_q_onReplyFinished()));
}
예제 #3
0
/*!
    \brief Performs a HTTP PUT request.
*/
void Request::put(bool authRequired) {
    Q_D(Request);
    
    if (d->url.isEmpty()) {
        qDebug() << "QYouTube::Request::put(): URL is empty";
        return;
    }
    
    d->redirects = 0;
    d->setOperation(PutOperation);
    
    if (d->reply) {
        delete d->reply;
    }
    
    bool ok = true;
    QByteArray data;
    
    switch (d->data.type()) {
    case QVariant::String:
    case QVariant::ByteArray:
    case QVariant::Invalid:
        data = d->data.toString().toUtf8();
        break;
    default:
        data = QtJson::Json::serialize(d->data, ok);
        break;
    }
#ifdef QYOUTUBE_DEBUG
    qDebug() << "QYouTube::Request::put" << d->url << data;
#endif
    if (ok) {
        d->setStatus(Loading);        
        d->reply = d->networkAccessManager()->put(d->buildRequest(authRequired), data);
        connect(d->reply, SIGNAL(finished()), this, SLOT(_q_onReplyFinished()));
    }
    else {
        d->setStatus(Failed);
        d->setError(ParseError);
        d->setErrorString(tr("Unable to serialize the PUT data"));
        emit finished();
    }    
}
예제 #4
0
/*!
    \brief Performs a HTTP DELETE request.
*/
void Request::deleteResource(bool authRequired) {
    Q_D(Request);
    
    if (d->url.isEmpty()) {
        qDebug() << "QYouTube::Request::deleteResource(): URL is empty";
        return;
    }
    
    d->redirects = 0;
    d->setOperation(DeleteOperation);
    d->setStatus(Loading);
    
    if (d->reply) {
        delete d->reply;
    }
#ifdef QYOUTUBE_DEBUG
    qDebug() << "QYouTube::Request::deleteResource" << d->url;
#endif
    d->reply = d->networkAccessManager()->deleteResource(d->buildRequest(authRequired));
    connect(d->reply, SIGNAL(finished()), this, SLOT(_q_onReplyFinished()));
}