void Transfer::followRedirect(const QUrl &u) { Logger::log("Transfer::followRedirect(). URL: " + u.toString(), Logger::LowVerbosity); QDir().mkpath(downloadPath()); if (!m_file.open(m_file.exists() ? QFile::Append : QFile::WriteOnly)) { setErrorString(m_file.errorString()); setStatus(Failed); return; } m_redirects++; if (!m_nam) { m_nam = new QNetworkAccessManager(this); m_ownNetworkAccessManager = true; } QNetworkRequest request(u); request.setRawHeader("User-Agent", USER_AGENT); if (m_bytesTransferred > 0) { request.setRawHeader("Range", "bytes=" + QByteArray::number(m_bytesTransferred) + "-"); } m_reply = m_nam->get(request); connect(m_reply, SIGNAL(metaDataChanged()), this, SLOT(onReplyMetaDataChanged())); connect(m_reply, SIGNAL(readyRead()), this, SLOT(onReplyReadyRead())); connect(m_reply, SIGNAL(finished()), this, SLOT(onReplyFinished())); }
void XMLHttpRequest::followRedirect(const QUrl &url) { Logger::log("XMLHttpRequest::followRedirect(): URL: " + url.toString()); m_redirects++; m_response = QByteArray(); m_reply = networkAccessManager()->get(QNetworkRequest(url)); setReadyState(OPENED); connect(m_reply, SIGNAL(metaDataChanged()), this, SLOT(onReplyMetaDataChanged())); connect(m_reply, SIGNAL(readyRead()), this, SLOT(onReplyReadyRead())); connect(m_reply, SIGNAL(finished()), this, SLOT(onReplyFinished())); }
void XMLHttpRequest::send(const QString &body) { Logger::log("XMLHttpRequest::send(): Body: " + body); switch (readyState()) { case HEADERS_RECEIVED: case LOADING: return; default: break; } m_redirects = 0; QBuffer *buffer = new QBuffer; buffer->setData(body.toUtf8()); buffer->open(QBuffer::ReadOnly); m_reply = networkAccessManager()->sendCustomRequest(m_request, m_method, buffer); buffer->setParent(m_reply); connect(m_reply, SIGNAL(metaDataChanged()), this, SLOT(onReplyMetaDataChanged())); connect(m_reply, SIGNAL(readyRead()), this, SLOT(onReplyReadyRead())); connect(m_reply, SIGNAL(finished()), this, SLOT(onReplyFinished())); }