From d908cd4a530b9298307a279e0d88e471b0f22f10 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Fri, 28 Aug 2015 06:35:02 -0700 Subject: [PATCH] use NotStarted instead of Unsent, return NotFound for Files --- .../networking/src/FileResourceRequest.cpp | 17 ++++++++++++----- .../networking/src/HTTPResourceRequest.cpp | 2 +- libraries/networking/src/ResourceRequest.cpp | 2 +- libraries/networking/src/ResourceRequest.h | 4 ++-- 4 files changed, 16 insertions(+), 9 deletions(-) diff --git a/libraries/networking/src/FileResourceRequest.cpp b/libraries/networking/src/FileResourceRequest.cpp index 261b1028f3..1c5e0a1977 100644 --- a/libraries/networking/src/FileResourceRequest.cpp +++ b/libraries/networking/src/FileResourceRequest.cpp @@ -15,14 +15,21 @@ void FileResourceRequest::doSend() { QString filename = _url.toLocalFile(); + QFile file(filename); + _state = Finished; - if (file.open(QFile::ReadOnly)) { - _data = file.readAll(); - _result = ResourceRequest::Success; - emit finished(); + if (file.exists()) { + if (file.open(QFile::ReadOnly)) { + _data = file.readAll(); + _result = ResourceRequest::Success; + emit finished(); + } else { + _result = ResourceRequest::AccessDenied; + emit finished(); + } } else { - _result = ResourceRequest::AccessDenied; + _result = ResourceRequest::NotFound; emit finished(); } } diff --git a/libraries/networking/src/HTTPResourceRequest.cpp b/libraries/networking/src/HTTPResourceRequest.cpp index c61fe50f23..b122369c30 100644 --- a/libraries/networking/src/HTTPResourceRequest.cpp +++ b/libraries/networking/src/HTTPResourceRequest.cpp @@ -84,7 +84,7 @@ void HTTPResourceRequest::onDownloadProgress(qint64 bytesReceived, qint64 bytesT } void HTTPResourceRequest::onTimeout() { - Q_ASSERT(_state != Unsent); + Q_ASSERT(_state != NotStarted); if (_state == InProgress) { qCDebug(networking) << "Timed out loading " << _url; diff --git a/libraries/networking/src/ResourceRequest.cpp b/libraries/networking/src/ResourceRequest.cpp index d10f50264f..c6880636ea 100644 --- a/libraries/networking/src/ResourceRequest.cpp +++ b/libraries/networking/src/ResourceRequest.cpp @@ -17,7 +17,7 @@ ResourceRequest::ResourceRequest(QObject* parent, const QUrl& url) : } void ResourceRequest::send() { - Q_ASSERT(_state == Unsent); + Q_ASSERT(_state == NotStarted); _state = InProgress; doSend(); diff --git a/libraries/networking/src/ResourceRequest.h b/libraries/networking/src/ResourceRequest.h index 055d32c1a5..c5e56e4a85 100644 --- a/libraries/networking/src/ResourceRequest.h +++ b/libraries/networking/src/ResourceRequest.h @@ -21,7 +21,7 @@ public: ResourceRequest(QObject* parent, const QUrl& url); enum State { - Unsent = 0, + NotStarted = 0, InProgress, Finished }; @@ -51,7 +51,7 @@ protected: virtual void doSend() = 0; QUrl _url; - State _state { Unsent }; + State _state { NotStarted }; Result _result; QByteArray _data; bool _cacheEnabled { true };