From 2139e979da34c81b7c05bf90d6f4fe29a7001128 Mon Sep 17 00:00:00 2001 From: humbletim Date: Sun, 6 Nov 2016 09:33:16 -0500 Subject: [PATCH] map specific HTTP errors to corresponding ResourceRequest enums --- .../networking/src/HTTPResourceRequest.cpp | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/libraries/networking/src/HTTPResourceRequest.cpp b/libraries/networking/src/HTTPResourceRequest.cpp index 392654a419..64396ec62e 100644 --- a/libraries/networking/src/HTTPResourceRequest.cpp +++ b/libraries/networking/src/HTTPResourceRequest.cpp @@ -14,6 +14,7 @@ #include #include #include +#include #include @@ -78,10 +79,36 @@ void HTTPResourceRequest::onRequestFinished() { _loadedFromCache = _reply->attribute(QNetworkRequest::SourceIsFromCacheAttribute).toBool(); _result = Success; break; + case QNetworkReply::TimeoutError: _result = Timeout; break; + + case QNetworkReply::ContentNotFoundError: // Script.include('https://httpbin.org/status/404') + _result = NotFound; + break; + + case QNetworkReply::ProtocolInvalidOperationError: // Script.include('https://httpbin.org/status/400') + _result = InvalidURL; + break; + + case QNetworkReply::UnknownContentError: // Script.include('QUrl("https://httpbin.org/status/402")') + case QNetworkReply::ContentOperationNotPermittedError: //Script.include('https://httpbin.org/status/403') + case QNetworkReply::AuthenticationRequiredError: // Script.include('https://httpbin.org/basic-auth/user/passwd') + _result = AccessDenied; + break; + + case QNetworkReply::RemoteHostClosedError: // Script.include('http://127.0.0.1:22') + case QNetworkReply::ConnectionRefusedError: // Script.include(http://127.0.0.1:1') + case QNetworkReply::HostNotFoundError: // Script.include('http://foo.bar.highfidelity.io') + case QNetworkReply::ServiceUnavailableError: // Script.include('QUrl("https://httpbin.org/status/503")') + _result = ServerUnavailable; + break; + + case QNetworkReply::UnknownServerError: // Script.include('QUrl("https://httpbin.org/status/504")') + case QNetworkReply::InternalServerError: // Script.include('QUrl("https://httpbin.org/status/500")') default: + qDebug() << "HTTPResourceRequest error:" << QMetaEnum::fromType().valueToKey(_reply->error()); _result = Error; break; }