, resumeOffset(0)
, preMigrationDownloaded(-1)
, bytesDownloaded(0)
- , lastBytesDownloaded(-1)
, downloadBufferReadPosition(0)
, downloadBufferCurrentSize(0)
- , downloadBufferMaximumSize(0)
, downloadZerocopyBuffer(0)
, pendingDownloadDataEmissions(new QAtomicInt())
, pendingDownloadProgressEmissions(new QAtomicInt())
// FIXME the proxy stuff should be done in the HTTP thread
foreach (const QNetworkProxy &p, managerPrivate->queryProxy(QNetworkProxyQuery(request.url()))) {
- //foreach (const QNetworkProxy &p, proxyList()) {
// use the first proxy that works
// for non-encrypted connections, any transparent or HTTP proxy
// for encrypted, only transparent proxies
pendingDownloadDataCopy.clear();
bytesDownloaded += bytesWritten;
- lastBytesDownloaded = bytesDownloaded;
QVariant totalSize = cookedHeaders.value(QNetworkRequest::ContentLengthHeader);
QUrl url = QUrl(QString::fromUtf8(header));
if (!url.isValid())
url = QUrl(QLatin1String(header));
- // FIXME?
- //redirectionRequested(url);
q->setAttribute(QNetworkRequest::RedirectionTargetAttribute, url);
}
}
qint64 contentLength)
{
Q_Q(QNetworkReplyHttpImpl);
+ Q_UNUSED(contentLength);
statusCode = sc;
reasonPhrase = rp;
// Download buffer
if (!db.isNull()) {
- //setDownloadBuffer(db, contentLength);
downloadBufferPointer = db;
downloadZerocopyBuffer = downloadBufferPointer.data();
downloadBufferCurrentSize = 0;
- downloadBufferMaximumSize = contentLength;
q->setAttribute(QNetworkRequest::DownloadBufferAttribute, QVariant::fromValue<QSharedPointer<char> > (downloadBufferPointer));
}
QList<QPair<QByteArray, QByteArray> > headerMap = hm;
QList<QPair<QByteArray, QByteArray> >::ConstIterator it = headerMap.constBegin(),
end = headerMap.constEnd();
- QByteArray header;
-
for (; it != end; ++it) {
QByteArray value = q->rawHeader(it->first);
if (!value.isEmpty()) {
}
bytesDownloaded = bytesReceived;
- lastBytesDownloaded = bytesReceived;
downloadBufferCurrentSize = bytesReceived;
q_func()->setFinished(true);
} else {
if (state != Finished) {
-// if (operation == QNetworkAccessManager::GetOperation)
-// pendingNotifications.append(NotifyDownstreamReadyWrite);
-
-// handleNotifications();
}
}
// metaDataChanged ?
- // FIXME
- lastBytesDownloaded = bytesDownloaded;
QVariant totalSize = cookedHeaders.value(QNetworkRequest::ContentLengthHeader);
// emit readyRead before downloadProgress incase this will cause events to be
#endif
void _q_finished();
-
- // FIXME
void finished();
void error(QNetworkReply::NetworkError code, const QString &errorString);
void _q_error(QNetworkReply::NetworkError code, const QString &errorString);
void metaDataChanged();
- void redirectionRequested(const QUrl &target);
void checkForRedirect(const int statusCode);
void setCachingEnabled(bool enable);
bool isCachingEnabled() const;
void initCacheSaveDevice();
- QAbstractNetworkCache *networkCache() const;
QIODevice *cacheLoadDevice;
bool loadingFromCache;
QUrl urlForLastAuthentication;
#ifndef QT_NO_NETWORKPROXY
QNetworkProxy lastProxyAuthentication;
- QList<QNetworkProxy> proxyList;
#endif
QByteDataBuffer downloadMultiBuffer;
QByteDataBuffer pendingDownloadData; // For signal compression
qint64 bytesDownloaded;
- qint64 lastBytesDownloaded;
- void setDownloadBuffer(QSharedPointer<char> sp, qint64 size);
- char* getDownloadBuffer(qint64 size);
// only used when the "zero copy" style is used. Else downloadMultiBuffer is used.
// Please note that the whole "zero copy" download buffer API is private right now. Do not use it.
qint64 downloadBufferReadPosition;
qint64 downloadBufferCurrentSize;
- qint64 downloadBufferMaximumSize;
QSharedPointer<char> downloadBufferPointer;
char* downloadZerocopyBuffer;