summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKonstantin Käfer <mail@kkaefer.com>2017-07-26 16:07:00 +0200
committerKonstantin Käfer <mail@kkaefer.com>2017-07-26 16:07:00 +0200
commit8d3647317cefc0c1190ca80a7dc411cb4498f5f8 (patch)
tree71cb7152a03e5a03f33062794b1db1a05531c86a
parentc9bf1235cdb0075900ad8e471886bbefceef891c (diff)
downloadqtlocation-mapboxgl-8d3647317cefc0c1190ca80a7dc411cb4498f5f8.tar.gz
[core] extract enums Response::Error::Reason => ResourceStatus, Resource::Kind => ResourceKind
-rw-r--r--bin/offline.cpp2
-rw-r--r--cmake/core-files.cmake2
-rw-r--r--include/mbgl/storage/resource.hpp20
-rw-r--r--include/mbgl/storage/resource_kind.hpp18
-rw-r--r--include/mbgl/storage/resource_status.hpp16
-rw-r--r--include/mbgl/storage/resource_transform.hpp4
-rw-r--r--include/mbgl/storage/response.hpp14
-rw-r--r--platform/android/src/asset_manager_file_source.cpp2
-rw-r--r--platform/android/src/file_source.cpp2
-rw-r--r--platform/android/src/http_file_source.cpp16
-rw-r--r--platform/android/src/offline/offline_region_error.cpp12
-rw-r--r--platform/darwin/src/MGLOfflinePack.mm6
-rw-r--r--platform/darwin/src/http_file_source.mm18
-rw-r--r--platform/default/asset_file_source.cpp6
-rw-r--r--platform/default/default_file_source.cpp2
-rw-r--r--platform/default/http_file_source.cpp14
-rw-r--r--platform/default/local_file_source.cpp6
-rw-r--r--platform/default/mbgl/storage/offline_database.cpp10
-rw-r--r--platform/default/mbgl/storage/offline_download.cpp6
-rw-r--r--platform/default/online_file_source.cpp28
-rw-r--r--platform/node/src/node_map.cpp2
-rw-r--r--platform/node/src/node_mapbox_gl_native.cpp14
-rw-r--r--platform/node/src/node_request.cpp2
-rw-r--r--platform/qt/src/http_request.cpp12
-rw-r--r--src/mbgl/storage/resource.cpp14
-rw-r--r--src/mbgl/storage/resource_transform.cpp2
-rw-r--r--src/mbgl/storage/response.cpp30
-rw-r--r--src/mbgl/style/sources/image_source.cpp2
-rw-r--r--src/mbgl/tile/tile_loader_impl.hpp4
-rw-r--r--src/mbgl/util/http_timeout.cpp8
-rw-r--r--src/mbgl/util/http_timeout.hpp2
-rw-r--r--test/map/map.test.cpp18
-rw-r--r--test/sprite/sprite_loader.test.cpp2
-rw-r--r--test/src/mbgl/test/fake_file_source.hpp2
-rw-r--r--test/src/mbgl/test/stub_file_source.cpp16
-rw-r--r--test/storage/asset_file_source.test.cpp18
-rw-r--r--test/storage/default_file_source.test.cpp34
-rw-r--r--test/storage/http_file_source.test.cpp24
-rw-r--r--test/storage/local_file_source.test.cpp18
-rw-r--r--test/storage/offline_database.test.cpp22
-rw-r--r--test/storage/offline_download.test.cpp8
-rw-r--r--test/storage/online_file_source.test.cpp46
-rw-r--r--test/storage/resource.test.cpp30
-rw-r--r--test/style/source.test.cpp6
-rw-r--r--test/text/glyph_loader.test.cpp6
-rw-r--r--test/util/http_timeout.test.cpp20
46 files changed, 293 insertions, 273 deletions
diff --git a/bin/offline.cpp b/bin/offline.cpp
index ec2fb09096..f5f3d0be8a 100644
--- a/bin/offline.cpp
+++ b/bin/offline.cpp
@@ -100,7 +100,7 @@ int main(int argc, char *argv[]) {
}
void responseError(Response::Error error) override {
- std::cerr << error.reason << " downloading resource: " << error.message << std::endl;
+ std::cerr << error.status << " downloading resource: " << error.message << std::endl;
}
void mapboxTileCountLimitExceeded(uint64_t limit) override {
diff --git a/cmake/core-files.cmake b/cmake/core-files.cmake
index 93bc8326d4..b812753563 100644
--- a/cmake/core-files.cmake
+++ b/cmake/core-files.cmake
@@ -311,6 +311,8 @@ set(MBGL_CORE_FILES
include/mbgl/storage/offline.hpp
include/mbgl/storage/online_file_source.hpp
include/mbgl/storage/resource.hpp
+ include/mbgl/storage/resource_kind.hpp
+ include/mbgl/storage/resource_status.hpp
include/mbgl/storage/resource_transform.hpp
include/mbgl/storage/response.hpp
src/mbgl/storage/asset_file_source.hpp
diff --git a/include/mbgl/storage/resource.hpp b/include/mbgl/storage/resource.hpp
index 7e9ced8049..85feb9c1eb 100644
--- a/include/mbgl/storage/resource.hpp
+++ b/include/mbgl/storage/resource.hpp
@@ -1,7 +1,8 @@
#pragma once
-#include <mbgl/storage/response.hpp>
+#include <mbgl/storage/resource_kind.hpp>
#include <mbgl/util/optional.hpp>
+#include <mbgl/util/chrono.hpp>
#include <mbgl/util/font_stack.hpp>
#include <mbgl/util/tileset.hpp>
@@ -11,17 +12,6 @@ namespace mbgl {
class Resource {
public:
- enum Kind : uint8_t {
- Unknown = 0,
- Style,
- Source,
- Tile,
- Glyphs,
- SpriteImage,
- SpriteJSON,
- Image
- };
-
struct TileData {
std::string urlTemplate;
uint8_t pixelRatio;
@@ -35,7 +25,7 @@ public:
Required = true,
};
- Resource(Kind kind_, std::string url_, optional<TileData> tileData_ = {}, Necessity necessity_ = Required)
+ Resource(ResourceKind kind_, std::string url_, optional<TileData> tileData_ = {}, Necessity necessity_ = Required)
: kind(kind_),
necessity(necessity_),
url(std::move(url_)),
@@ -57,8 +47,8 @@ public:
static Resource spriteImage(const std::string& base, float pixelRatio);
static Resource spriteJSON(const std::string& base, float pixelRatio);
static Resource image(const std::string& url);
-
- Kind kind;
+
+ ResourceKind kind;
Necessity necessity;
std::string url;
diff --git a/include/mbgl/storage/resource_kind.hpp b/include/mbgl/storage/resource_kind.hpp
new file mode 100644
index 0000000000..200668ca4f
--- /dev/null
+++ b/include/mbgl/storage/resource_kind.hpp
@@ -0,0 +1,18 @@
+#pragma once
+
+#include <cstdint>
+
+namespace mbgl {
+
+enum class ResourceKind : uint8_t {
+ Unknown = 0,
+ Style = 1,
+ Source = 2,
+ Tile = 3,
+ Glyphs = 4,
+ SpriteImage = 5,
+ SpriteJSON = 6,
+ Image = 7,
+};
+
+} // namespace mbgl
diff --git a/include/mbgl/storage/resource_status.hpp b/include/mbgl/storage/resource_status.hpp
new file mode 100644
index 0000000000..f428d36d1d
--- /dev/null
+++ b/include/mbgl/storage/resource_status.hpp
@@ -0,0 +1,16 @@
+#pragma once
+
+#include <cstdint>
+
+namespace mbgl {
+
+enum class ResourceStatus : uint8_t {
+ Success = 1,
+ NotFoundError = 2,
+ ServerError = 3,
+ ConnectionError = 4,
+ RateLimitError = 5,
+ OtherError = 6,
+};
+
+} // namespace mbgl
diff --git a/include/mbgl/storage/resource_transform.hpp b/include/mbgl/storage/resource_transform.hpp
index 738c497176..3c38e3f7cf 100644
--- a/include/mbgl/storage/resource_transform.hpp
+++ b/include/mbgl/storage/resource_transform.hpp
@@ -12,12 +12,12 @@ class Mailbox;
class ResourceTransform {
public:
- using TransformCallback = std::function<std::string(Resource::Kind kind, const std::string&& url)>;
+ using TransformCallback = std::function<std::string(ResourceKind kind, const std::string&& url)>;
using FinishedCallback = std::function<void(const std::string&&)>;
ResourceTransform(ActorRef<ResourceTransform>, TransformCallback&&);
- void transform(Resource::Kind, const std::string&& url, FinishedCallback&&);
+ void transform(ResourceKind, const std::string&& url, FinishedCallback&&);
private:
TransformCallback transformCallback;
diff --git a/include/mbgl/storage/response.hpp b/include/mbgl/storage/response.hpp
index 32fe4e0c8a..c532b1216d 100644
--- a/include/mbgl/storage/response.hpp
+++ b/include/mbgl/storage/response.hpp
@@ -1,5 +1,6 @@
#pragma once
+#include <mbgl/storage/resource_status.hpp>
#include <mbgl/util/chrono.hpp>
#include <mbgl/util/optional.hpp>
#include <mbgl/util/variant.hpp>
@@ -41,14 +42,7 @@ public:
class Response::Error {
public:
- enum class Reason : uint8_t {
- Success = 1,
- NotFound = 2,
- Server = 3,
- Connection = 4,
- RateLimit = 5,
- Other = 6,
- } reason = Reason::Other;
+ ResourceStatus status = ResourceStatus::OtherError;
// An error message from the request handler, e.g. a server message or a system message
// informing the user about the reason for the failure.
@@ -57,9 +51,9 @@ public:
optional<Timestamp> retryAfter;
public:
- Error(Reason, std::string = "", optional<Timestamp> = {});
+ Error(ResourceStatus, std::string = "", optional<Timestamp> = {});
};
-std::ostream& operator<<(std::ostream&, Response::Error::Reason);
+std::ostream& operator<<(std::ostream&, ResourceStatus);
} // namespace mbgl
diff --git a/platform/android/src/asset_manager_file_source.cpp b/platform/android/src/asset_manager_file_source.cpp
index aa65e3ff48..bd2524e91d 100644
--- a/platform/android/src/asset_manager_file_source.cpp
+++ b/platform/android/src/asset_manager_file_source.cpp
@@ -27,7 +27,7 @@ public:
reinterpret_cast<const char*>(AAsset_getBuffer(asset)), AAsset_getLength64(asset));
AAsset_close(asset);
} else {
- response.error = std::make_unique<Response::Error>(Response::Error::Reason::NotFound,
+ response.error = std::make_unique<Response::Error>(ResourceStatus::NotFoundError,
"Could not read asset");
}
diff --git a/platform/android/src/file_source.cpp b/platform/android/src/file_source.cpp
index 5d19c506bc..c16e09303c 100644
--- a/platform/android/src/file_source.cpp
+++ b/platform/android/src/file_source.cpp
@@ -52,7 +52,7 @@ void FileSource::setResourceTransform(jni::JNIEnv& env, jni::Object<FileSource::
// Note: we're converting it to shared_ptr because this lambda is converted to a std::function,
// which requires copyability of its captured variables.
[callback = std::shared_ptr<jni::jobject>(transformCallback.NewGlobalRef(env).release()->Get(), GenericGlobalRefDeleter())]
- (mbgl::Resource::Kind kind, const std::string&& url_) {
+ (mbgl::ResourceKind kind, const std::string&& url_) {
android::UniqueEnv _env = android::AttachEnv();
return FileSource::ResourceTransformCallback::onURL(*_env, jni::Object<FileSource::ResourceTransformCallback>(*callback), int(kind), url_);
});
diff --git a/platform/android/src/http_file_source.cpp b/platform/android/src/http_file_source.cpp
index ee1429bd74..e8c2c87277 100644
--- a/platform/android/src/http_file_source.cpp
+++ b/platform/android/src/http_file_source.cpp
@@ -132,12 +132,12 @@ void HTTPRequest::onResponse(jni::JNIEnv& env, int code,
} else {
response.data = std::make_shared<std::string>();
}
- } else if (code == 204 || (code == 404 && resource.kind == Resource::Kind::Tile)) {
+ } else if (code == 204 || (code == 404 && resource.kind == ResourceKind::Tile)) {
response.noContent = true;
} else if (code == 304) {
response.notModified = true;
} else if (code == 404) {
- response.error = std::make_unique<Error>(Error::Reason::NotFound, "HTTP status code 404");
+ response.error = std::make_unique<Error>(ResourceStatus::NotFound, "HTTP status code 404");
} else if (code == 429) {
optional<std::string> retryAfter;
optional<std::string> xRateLimitReset;
@@ -147,11 +147,11 @@ void HTTPRequest::onResponse(jni::JNIEnv& env, int code,
if (jXRateLimitReset) {
xRateLimitReset = jni::Make<std::string>(env, jXRateLimitReset);
}
- response.error = std::make_unique<Error>(Error::Reason::RateLimit, "HTTP status code 429", http::parseRetryHeaders(retryAfter, xRateLimitReset));
+ response.error = std::make_unique<Error>(ResourceStatus::RateLimit, "HTTP status code 429", http::parseRetryHeaders(retryAfter, xRateLimitReset));
} else if (code >= 500 && code < 600) {
- response.error = std::make_unique<Error>(Error::Reason::Server, std::string{ "HTTP status code " } + std::to_string(code));
+ response.error = std::make_unique<Error>(ResourceStatus::Server, std::string{ "HTTP status code " } + std::to_string(code));
} else {
- response.error = std::make_unique<Error>(Error::Reason::Other, std::string{ "HTTP status code " } + std::to_string(code));
+ response.error = std::make_unique<Error>(ResourceStatus::Other, std::string{ "HTTP status code " } + std::to_string(code));
}
async.send();
@@ -164,13 +164,13 @@ void HTTPRequest::onFailure(jni::JNIEnv& env, int type, jni::String message) {
switch (type) {
case connectionError:
- response.error = std::make_unique<Error>(Error::Reason::Connection, messageStr);
+ response.error = std::make_unique<Error>(ResourceStatus::Connection, messageStr);
break;
case temporaryError:
- response.error = std::make_unique<Error>(Error::Reason::Server, messageStr);
+ response.error = std::make_unique<Error>(ResourceStatus::Server, messageStr);
break;
default:
- response.error = std::make_unique<Error>(Error::Reason::Other, messageStr);
+ response.error = std::make_unique<Error>(ResourceStatus::Other, messageStr);
}
async.send();
diff --git a/platform/android/src/offline/offline_region_error.cpp b/platform/android/src/offline/offline_region_error.cpp
index b0a19f934f..47f196e702 100644
--- a/platform/android/src/offline/offline_region_error.cpp
+++ b/platform/android/src/offline/offline_region_error.cpp
@@ -8,22 +8,22 @@ jni::Object<OfflineRegionError> OfflineRegionError::New(jni::JNIEnv& env, mbgl::
// Handle the value of reason independently of the underlying int value
std::string reason;
switch(error.reason) {
- case mbgl::Response::Error::Reason::Success:
+ case mbgl::ResourceStatus::Success:
reason = "REASON_SUCCESS";
break;
- case mbgl::Response::Error::Reason::NotFound:
+ case mbgl::ResourceStatus::NotFoundError:
reason = "REASON_NOT_FOUND";
break;
- case mbgl::Response::Error::Reason::Server:
+ case mbgl::ResourceStatus::ServerError:
reason = "REASON_SERVER";
break;
- case mbgl::Response::Error::Reason::Connection:
+ case mbgl::ResourceStatus::ConnectionError:
reason = "REASON_CONNECTION";
break;
- case mbgl::Response::Error::Reason::RateLimit:
+ case mbgl::ResourceStatus::RateLimitError:
reason = "REASON_RATE_LIMIT";
break;
- case mbgl::Response::Error::Reason::Other:
+ case mbgl::ResourceStatus::OtherError:
reason = "REASON_OTHER";
break;
}
diff --git a/platform/darwin/src/MGLOfflinePack.mm b/platform/darwin/src/MGLOfflinePack.mm
index 60a7b55531..b6937f828c 100644
--- a/platform/darwin/src/MGLOfflinePack.mm
+++ b/platform/darwin/src/MGLOfflinePack.mm
@@ -204,15 +204,15 @@ private:
NSError *MGLErrorFromResponseError(mbgl::Response::Error error) {
NSInteger errorCode = MGLErrorCodeUnknown;
switch (error.reason) {
- case mbgl::Response::Error::Reason::NotFound:
+ case mbgl::ResourceStatus::NotFoundError:
errorCode = MGLErrorCodeNotFound;
break;
- case mbgl::Response::Error::Reason::Server:
+ case mbgl::ResourceStatus::ServerError:
errorCode = MGLErrorCodeBadServerResponse;
break;
- case mbgl::Response::Error::Reason::Connection:
+ case mbgl::ResourceStatus::ConnectionError:
errorCode = MGLErrorCodeConnectionFailed;
break;
diff --git a/platform/darwin/src/http_file_source.mm b/platform/darwin/src/http_file_source.mm
index 649cebb47f..7d42af16df 100644
--- a/platform/darwin/src/http_file_source.mm
+++ b/platform/darwin/src/http_file_source.mm
@@ -239,7 +239,7 @@ std::unique_ptr<AsyncRequest> HTTPFileSource::request(const Resource& resource,
switch ([error code]) {
case NSURLErrorBadServerResponse: // 5xx errors
response.error = std::make_unique<Error>(
- Error::Reason::Server, [[error localizedDescription] UTF8String]);
+ ResourceStatus::ServerError, [[error localizedDescription] UTF8String]);
break;
case NSURLErrorNetworkConnectionLost:
@@ -252,12 +252,12 @@ std::unique_ptr<AsyncRequest> HTTPFileSource::request(const Resource& resource,
case NSURLErrorDataNotAllowed:
case NSURLErrorTimedOut:
response.error = std::make_unique<Error>(
- Error::Reason::Connection, [[error localizedDescription] UTF8String]);
+ ResourceStatus::ConnectionError, [[error localizedDescription] UTF8String]);
break;
default:
response.error = std::make_unique<Error>(
- Error::Reason::Other, [[error localizedDescription] UTF8String]);
+ ResourceStatus::OtherError, [[error localizedDescription] UTF8String]);
break;
}
} else if ([res isKindOfClass:[NSHTTPURLResponse class]]) {
@@ -286,13 +286,13 @@ std::unique_ptr<AsyncRequest> HTTPFileSource::request(const Resource& resource,
if (responseCode == 200) {
response.data = std::make_shared<std::string>((const char *)[data bytes], [data length]);
- } else if (responseCode == 204 || (responseCode == 404 && resource.kind == Resource::Kind::Tile)) {
+ } else if (responseCode == 204 || (responseCode == 404 && resource.kind == ResourceKind::Tile)) {
response.noContent = true;
} else if (responseCode == 304) {
response.notModified = true;
} else if (responseCode == 404) {
response.error =
- std::make_unique<Error>(Error::Reason::NotFound, "HTTP status code 404");
+ std::make_unique<Error>(ResourceStatus::NotFoundError, "HTTP status code 404");
} else if (responseCode == 429) {
// Get the standard header
optional<std::string> retryAfter;
@@ -308,19 +308,19 @@ std::unique_ptr<AsyncRequest> HTTPFileSource::request(const Resource& resource,
xRateLimitReset = std::string([xReset UTF8String]);
}
- response.error = std::make_unique<Error>(Error::Reason::RateLimit, "HTTP status code 429", http::parseRetryHeaders(retryAfter, xRateLimitReset));
+ response.error = std::make_unique<Error>(ResourceStatus::RateLimitError, "HTTP status code 429", http::parseRetryHeaders(retryAfter, xRateLimitReset));
} else if (responseCode >= 500 && responseCode < 600) {
response.error =
- std::make_unique<Error>(Error::Reason::Server, std::string{ "HTTP status code " } +
+ std::make_unique<Error>(ResourceStatus::ServerError, std::string{ "HTTP status code " } +
std::to_string(responseCode));
} else {
response.error =
- std::make_unique<Error>(Error::Reason::Other, std::string{ "HTTP status code " } +
+ std::make_unique<Error>(ResourceStatus::OtherError, std::string{ "HTTP status code " } +
std::to_string(responseCode));
}
} else {
// This should never happen.
- response.error = std::make_unique<Error>(Error::Reason::Other,
+ response.error = std::make_unique<Error>(ResourceStatus::OtherError,
"Response class is not NSHTTPURLResponse");
}
diff --git a/platform/default/asset_file_source.cpp b/platform/default/asset_file_source.cpp
index 54dbb8d0f6..a324c7d363 100644
--- a/platform/default/asset_file_source.cpp
+++ b/platform/default/asset_file_source.cpp
@@ -35,15 +35,15 @@ public:
int result = stat(path.c_str(), &buf);
if (result == 0 && (S_IFDIR & buf.st_mode)) {
- response.error = std::make_unique<Response::Error>(Response::Error::Reason::NotFound);
+ response.error = std::make_unique<Response::Error>(ResourceStatus::NotFoundError);
} else if (result == -1 && errno == ENOENT) {
- response.error = std::make_unique<Response::Error>(Response::Error::Reason::NotFound);
+ response.error = std::make_unique<Response::Error>(ResourceStatus::NotFoundError);
} else {
try {
response.data = std::make_shared<std::string>(util::read_file(path));
} catch (...) {
response.error = std::make_unique<Response::Error>(
- Response::Error::Reason::Other,
+ ResourceStatus::OtherError,
util::toString(std::current_exception()));
}
}
diff --git a/platform/default/default_file_source.cpp b/platform/default/default_file_source.cpp
index d309c55ecd..10803a18a0 100644
--- a/platform/default/default_file_source.cpp
+++ b/platform/default/default_file_source.cpp
@@ -133,7 +133,7 @@ public:
offlineResponse.emplace();
offlineResponse->noContent = true;
offlineResponse->error = std::make_unique<Response::Error>(
- Response::Error::Reason::NotFound, "Not found in offline database");
+ ResourceStatus::NotFoundError, "Not found in offline database");
}
if (offlineResponse) {
diff --git a/platform/default/http_file_source.cpp b/platform/default/http_file_source.cpp
index 867d85fa4d..dc8018fb42 100644
--- a/platform/default/http_file_source.cpp
+++ b/platform/default/http_file_source.cpp
@@ -355,12 +355,12 @@ void HTTPRequest::handleResult(CURLcode code) {
case CURLE_OPERATION_TIMEDOUT:
response->error = std::make_unique<Error>(
- Error::Reason::Connection, std::string{ curl_easy_strerror(code) } + ": " + error);
+ ResourceStatus::Connection, std::string{ curl_easy_strerror(code) } + ": " + error);
break;
default:
response->error = std::make_unique<Error>(
- Error::Reason::Other, std::string{ curl_easy_strerror(code) } + ": " + error);
+ ResourceStatus::Other, std::string{ curl_easy_strerror(code) } + ": " + error);
break;
}
} else {
@@ -373,24 +373,24 @@ void HTTPRequest::handleResult(CURLcode code) {
} else {
response->data = std::make_shared<std::string>();
}
- } else if (responseCode == 204 || (responseCode == 404 && resource.kind == Resource::Kind::Tile)) {
+ } else if (responseCode == 204 || (responseCode == 404 && resource.kind == ResourceKind::Tile)) {
response->noContent = true;
} else if (responseCode == 304) {
response->notModified = true;
} else if (responseCode == 404) {
response->error =
- std::make_unique<Error>(Error::Reason::NotFound, "HTTP status code 404");
+ std::make_unique<Error>(ResourceStatus::NotFound, "HTTP status code 404");
} else if (responseCode == 429) {
response->error =
- std::make_unique<Error>(Error::Reason::RateLimit, "HTTP status code 429",
+ std::make_unique<Error>(ResourceStatus::RateLimit, "HTTP status code 429",
http::parseRetryHeaders(retryAfter, xRateLimitReset));
} else if (responseCode >= 500 && responseCode < 600) {
response->error =
- std::make_unique<Error>(Error::Reason::Server, std::string{ "HTTP status code " } +
+ std::make_unique<Error>(ResourceStatus::Server, std::string{ "HTTP status code " } +
util::toString(responseCode));
} else {
response->error =
- std::make_unique<Error>(Error::Reason::Other, std::string{ "HTTP status code " } +
+ std::make_unique<Error>(ResourceStatus::Other, std::string{ "HTTP status code " } +
util::toString(responseCode));
}
}
diff --git a/platform/default/local_file_source.cpp b/platform/default/local_file_source.cpp
index 21a291d8d4..32532c76dc 100644
--- a/platform/default/local_file_source.cpp
+++ b/platform/default/local_file_source.cpp
@@ -34,15 +34,15 @@ public:
int result = stat(path.c_str(), &buf);
if (result == 0 && S_ISDIR(buf.st_mode)) {
- response.error = std::make_unique<Response::Error>(Response::Error::Reason::NotFound);
+ response.error = std::make_unique<Response::Error>(ResourceStatus::NotFoundError);
} else if (result == -1 && errno == ENOENT) {
- response.error = std::make_unique<Response::Error>(Response::Error::Reason::NotFound);
+ response.error = std::make_unique<Response::Error>(ResourceStatus::NotFoundError);
} else {
try {
response.data = std::make_shared<std::string>(util::read_file(path));
} catch (...) {
response.error = std::make_unique<Response::Error>(
- Response::Error::Reason::Other,
+ ResourceStatus::OtherError,
util::toString(std::current_exception()));
}
}
diff --git a/platform/default/mbgl/storage/offline_database.cpp b/platform/default/mbgl/storage/offline_database.cpp
index bad4ccdbf1..2875933634 100644
--- a/platform/default/mbgl/storage/offline_database.cpp
+++ b/platform/default/mbgl/storage/offline_database.cpp
@@ -142,7 +142,7 @@ optional<Response> OfflineDatabase::get(const Resource& resource) {
}
optional<std::pair<Response, uint64_t>> OfflineDatabase::getInternal(const Resource& resource) {
- if (resource.kind == Resource::Kind::Tile) {
+ if (resource.kind == ResourceKind::Tile) {
assert(resource.tileData);
return getTile(*resource.tileData);
} else {
@@ -151,7 +151,7 @@ optional<std::pair<Response, uint64_t>> OfflineDatabase::getInternal(const Resou
}
optional<int64_t> OfflineDatabase::hasInternal(const Resource& resource) {
- if (resource.kind == Resource::Kind::Tile) {
+ if (resource.kind == ResourceKind::Tile) {
assert(resource.tileData);
return hasTile(*resource.tileData);
} else {
@@ -185,7 +185,7 @@ std::pair<bool, uint64_t> OfflineDatabase::putInternal(const Resource& resource,
bool inserted;
- if (resource.kind == Resource::Kind::Tile) {
+ if (resource.kind == ResourceKind::Tile) {
assert(resource.tileData);
inserted = putTile(*resource.tileData, response,
compressed ? compressedData : response.data ? *response.data : "",
@@ -623,7 +623,7 @@ uint64_t OfflineDatabase::putRegionResource(int64_t regionID, const Resource& re
bool previouslyUnused = markUsed(regionID, resource);
if (offlineMapboxTileCount
- && resource.kind == Resource::Kind::Tile
+ && resource.kind == ResourceKind::Tile
&& util::mapbox::isMapboxURL(resource.url)
&& previouslyUnused) {
*offlineMapboxTileCount += 1;
@@ -633,7 +633,7 @@ uint64_t OfflineDatabase::putRegionResource(int64_t regionID, const Resource& re
}
bool OfflineDatabase::markUsed(int64_t regionID, const Resource& resource) {
- if (resource.kind == Resource::Kind::Tile) {
+ if (resource.kind == ResourceKind::Tile) {
// clang-format off
Statement insert = getStatement(
"INSERT OR IGNORE INTO region_tiles (region_id, tile_id) "
diff --git a/platform/default/mbgl/storage/offline_download.cpp b/platform/default/mbgl/storage/offline_download.cpp
index 7f0001f64b..fc198045b1 100644
--- a/platform/default/mbgl/storage/offline_download.cpp
+++ b/platform/default/mbgl/storage/offline_download.cpp
@@ -305,7 +305,7 @@ void OfflineDownload::ensureResource(const Resource& resource,
if (offlineResponse) {
status.completedResourceCount++;
status.completedResourceSize += *offlineResponse;
- if (resource.kind == Resource::Kind::Tile) {
+ if (resource.kind == ResourceKind::Tile) {
status.completedTileCount += 1;
status.completedTileSize += *offlineResponse;
}
@@ -335,7 +335,7 @@ void OfflineDownload::ensureResource(const Resource& resource,
status.completedResourceCount++;
uint64_t resourceSize = offlineDatabase.putRegionResource(id, resource, onlineResponse);
status.completedResourceSize += resourceSize;
- if (resource.kind == Resource::Kind::Tile) {
+ if (resource.kind == ResourceKind::Tile) {
status.completedTileCount += 1;
status.completedTileSize += resourceSize;
}
@@ -352,7 +352,7 @@ void OfflineDownload::ensureResource(const Resource& resource,
}
bool OfflineDownload::checkTileCountLimit(const Resource& resource) {
- if (resource.kind == Resource::Kind::Tile && util::mapbox::isMapboxURL(resource.url) &&
+ if (resource.kind == ResourceKind::Tile && util::mapbox::isMapboxURL(resource.url) &&
offlineDatabase.offlineMapboxTileCountLimitExceeded()) {
observer->mapboxTileCountLimitExceeded(offlineDatabase.getOfflineMapboxTileCountLimit());
setState(OfflineRegionDownloadState::Inactive);
diff --git a/platform/default/online_file_source.cpp b/platform/default/online_file_source.cpp
index fd82931902..78b75f75b8 100644
--- a/platform/default/online_file_source.cpp
+++ b/platform/default/online_file_source.cpp
@@ -56,7 +56,7 @@ public:
// Counts the number of subsequent failed requests. We're using this value for exponential
// backoff when retrying requests.
uint32_t failedRequests = 0;
- Response::Error::Reason failedRequestReason = Response::Error::Reason::Success;
+ ResourceStatus failedRequestReason = ResourceStatus::Success;
optional<Timestamp> retryAfter;
};
@@ -130,7 +130,7 @@ public:
request->request = httpFileSource.request(request->resource, callback);
} else {
Response response;
- response.error = std::make_unique<Response::Error>(Response::Error::Reason::Connection,
+ response.error = std::make_unique<Response::Error>(ResourceStatus::ConnectionError,
"Online connectivity is disabled.");
callback(response);
}
@@ -209,28 +209,28 @@ std::unique_ptr<AsyncRequest> OnlineFileSource::request(const Resource& resource
Resource res = resource;
switch (resource.kind) {
- case Resource::Kind::Unknown:
- case Resource::Kind::Image:
+ case ResourceKind::Unknown:
+ case ResourceKind::Image:
break;
- case Resource::Kind::Style:
+ case ResourceKind::Style:
res.url = mbgl::util::mapbox::normalizeStyleURL(apiBaseURL, resource.url, accessToken);
break;
- case Resource::Kind::Source:
+ case ResourceKind::Source:
res.url = util::mapbox::normalizeSourceURL(apiBaseURL, resource.url, accessToken);
break;
- case Resource::Kind::Glyphs:
+ case ResourceKind::Glyphs:
res.url = util::mapbox::normalizeGlyphsURL(apiBaseURL, resource.url, accessToken);
break;
- case Resource::Kind::SpriteImage:
- case Resource::Kind::SpriteJSON:
+ case ResourceKind::SpriteImage:
+ case ResourceKind::SpriteJSON:
res.url = util::mapbox::normalizeSpriteURL(apiBaseURL, resource.url, accessToken);
break;
- case Resource::Kind::Tile:
+ case ResourceKind::Tile:
res.url = util::mapbox::normalizeTileURL(apiBaseURL, resource.url, accessToken);
break;
}
@@ -317,7 +317,7 @@ void OnlineFileRequest::schedule(optional<Timestamp> expires) {
// a really long timeout. The request will get re-triggered when
// the NetworkStatus is set back to Online.
if (NetworkStatus::Get() == NetworkStatus::Status::Offline) {
- failedRequestReason = Response::Error::Reason::Connection;
+ failedRequestReason = ResourceStatus::ConnectionError;
failedRequests = 1;
timeout = Duration::max();
}
@@ -359,11 +359,11 @@ void OnlineFileRequest::completed(Response response) {
if (response.error) {
failedRequests++;
- failedRequestReason = response.error->reason;
+ failedRequestReason = response.error->status;
retryAfter = response.error->retryAfter;
} else {
failedRequests = 0;
- failedRequestReason = Response::Error::Reason::Success;
+ failedRequestReason = ResourceStatus::Success;
}
schedule(response.expires);
@@ -378,7 +378,7 @@ void OnlineFileRequest::completed(Response response) {
void OnlineFileRequest::networkIsReachableAgain() {
// We need all requests to fail at least once before we are going to start retrying
// them, and we only immediately restart request that failed due to connection issues.
- if (failedRequestReason == Response::Error::Reason::Connection) {
+ if (failedRequestReason == ResourceStatus::ConnectionError) {
schedule(util::now());
}
}
diff --git a/platform/node/src/node_map.cpp b/platform/node/src/node_map.cpp
index 079112b4c8..a88cfd52f8 100644
--- a/platform/node/src/node_map.cpp
+++ b/platform/node/src/node_map.cpp
@@ -1019,7 +1019,7 @@ std::unique_ptr<mbgl::AsyncRequest> NodeMap::request(const mbgl::Resource& resou
auto instance = Nan::New(NodeRequest::constructor)->NewInstance(2, argv);
Nan::Set(instance, Nan::New("url").ToLocalChecked(), Nan::New(resource.url).ToLocalChecked());
- Nan::Set(instance, Nan::New("kind").ToLocalChecked(), Nan::New<v8::Integer>(resource.kind));
+ Nan::Set(instance, Nan::New("kind").ToLocalChecked(), Nan::New<v8::Integer>(static_cast<int32_t>(resource.kind)));
auto request = Nan::ObjectWrap::Unwrap<NodeRequest>(instance);
request->Execute();
diff --git a/platform/node/src/node_mapbox_gl_native.cpp b/platform/node/src/node_mapbox_gl_native.cpp
index cdcc982220..47356f914b 100644
--- a/platform/node/src/node_mapbox_gl_native.cpp
+++ b/platform/node/src/node_mapbox_gl_native.cpp
@@ -26,31 +26,31 @@ void RegisterModule(v8::Local<v8::Object> target, v8::Local<v8::Object> module)
Nan::Set(resource,
Nan::New("Unknown").ToLocalChecked(),
- Nan::New(mbgl::Resource::Unknown));
+ Nan::New(static_cast<int32_t>(mbgl::ResourceKind::Unknown)));
Nan::Set(resource,
Nan::New("Style").ToLocalChecked(),
- Nan::New(mbgl::Resource::Style));
+ Nan::New(static_cast<int32_t>(mbgl::ResourceKind::Style)));
Nan::Set(resource,
Nan::New("Source").ToLocalChecked(),
- Nan::New(mbgl::Resource::Source));
+ Nan::New(static_cast<int32_t>(mbgl::ResourceKind::Source)));
Nan::Set(resource,
Nan::New("Tile").ToLocalChecked(),
- Nan::New(mbgl::Resource::Tile));
+ Nan::New(static_cast<int32_t>(mbgl::ResourceKind::Tile)));
Nan::Set(resource,
Nan::New("Glyphs").ToLocalChecked(),
- Nan::New(mbgl::Resource::Glyphs));
+ Nan::New(static_cast<int32_t>(mbgl::ResourceKind::Glyphs)));
Nan::Set(resource,
Nan::New("SpriteImage").ToLocalChecked(),
- Nan::New(mbgl::Resource::SpriteImage));
+ Nan::New(static_cast<int32_t>(mbgl::ResourceKind::SpriteImage)));
Nan::Set(resource,
Nan::New("SpriteJSON").ToLocalChecked(),
- Nan::New(mbgl::Resource::SpriteJSON));
+ Nan::New(static_cast<int32_t>(mbgl::ResourceKind::SpriteJSON)));
Nan::Set(target,
Nan::New("Resource").ToLocalChecked(),
diff --git a/platform/node/src/node_request.cpp b/platform/node/src/node_request.cpp
index de16710f78..29aaa43cd4 100644
--- a/platform/node/src/node_request.cpp
+++ b/platform/node/src/node_request.cpp
@@ -111,7 +111,7 @@ void NodeRequest::HandleCallback(const Nan::FunctionCallbackInfo<v8::Value>& inf
if (request->ErrorMessage()) {
response.error = std::make_unique<mbgl::Response::Error>(
- mbgl::Response::Error::Reason::Other,
+ mbgl::ResourceStatus::OtherError,
request->ErrorMessage()
);
}
diff --git a/platform/qt/src/http_request.cpp b/platform/qt/src/http_request.cpp
index ef753c3e0e..167f583cf4 100644
--- a/platform/qt/src/http_request.cpp
+++ b/platform/qt/src/http_request.cpp
@@ -66,7 +66,7 @@ void HTTPRequest::handleNetworkReply(QNetworkReply *reply)
// Handle non-HTTP errors (i.e. like connection).
if (reply->error() && reply->error() < 100) {
response.error = std::make_unique<Error>(
- Error::Reason::Connection, reply->errorString().toStdString());
+ ResourceStatus::Connection, reply->errorString().toStdString());
callback(response);
return;
}
@@ -111,22 +111,22 @@ void HTTPRequest::handleNetworkReply(QNetworkReply *reply)
response.notModified = true;
break;
case 404: {
- if (m_resource.kind == Resource::Kind::Tile) {
+ if (m_resource.kind == ResourceKind::Tile) {
response.noContent = true;
} else {
response.error = std::make_unique<Error>(
- Error::Reason::NotFound, "HTTP status code 404");
+ ResourceStatus::NotFound, "HTTP status code 404");
}
break;
}
case 429:
response.error = std::make_unique<Error>(
- Error::Reason::RateLimit, "HTTP status code 429",
+ ResourceStatus::RateLimit, "HTTP status code 429",
http::parseRetryHeaders(retryAfter, xRateLimitReset));
break;
default:
- Response::Error::Reason reason = (responseCode >= 500 && responseCode < 600) ?
- Error::Reason::Server : Error::Reason::Other;
+ ResourceStatus reason = (responseCode >= 500 && responseCode < 600) ?
+ ResourceStatus::Server : ResourceStatus::Other;
response.error = std::make_unique<Error>(
reason, "HTTP status code " + util::toString(responseCode));
diff --git a/src/mbgl/storage/resource.cpp b/src/mbgl/storage/resource.cpp
index 94bba7f8bf..96fe5c0f4f 100644
--- a/src/mbgl/storage/resource.cpp
+++ b/src/mbgl/storage/resource.cpp
@@ -41,42 +41,42 @@ static std::string getTileBBox(int32_t x, int32_t y, int8_t z) {
Resource Resource::style(const std::string& url) {
return Resource {
- Resource::Kind::Style,
+ ResourceKind::Style,
url
};
}
Resource Resource::source(const std::string& url) {
return Resource {
- Resource::Kind::Source,
+ ResourceKind::Source,
url
};
}
Resource Resource::image(const std::string& url) {
return Resource {
- Resource::Kind::Image,
+ ResourceKind::Image,
url
};
}
Resource Resource::spriteImage(const std::string& base, float pixelRatio) {
return Resource {
- Resource::Kind::SpriteImage,
+ ResourceKind::SpriteImage,
base + (pixelRatio > 1 ? "@2x" : "") + ".png"
};
}
Resource Resource::spriteJSON(const std::string& base, float pixelRatio) {
return Resource {
- Resource::Kind::SpriteJSON,
+ ResourceKind::SpriteJSON,
base + (pixelRatio > 1 ? "@2x" : "") + ".json"
};
}
Resource Resource::glyphs(const std::string& urlTemplate, const FontStack& fontStack, const std::pair<uint16_t, uint16_t>& glyphRange) {
return Resource {
- Resource::Kind::Glyphs,
+ ResourceKind::Glyphs,
util::replaceTokens(urlTemplate, [&](const std::string& token) {
if (token == "fontstack") {
return util::percentEncode(fontStackToString(fontStack));
@@ -101,7 +101,7 @@ Resource Resource::tile(const std::string& urlTemplate,
y = (1 << z) - y - 1;
}
return Resource {
- Resource::Kind::Tile,
+ ResourceKind::Tile,
util::replaceTokens(urlTemplate, [&](const std::string& token) {
if (token == "z") {
return util::toString(z);
diff --git a/src/mbgl/storage/resource_transform.cpp b/src/mbgl/storage/resource_transform.cpp
index a5e62b2c1a..df72557746 100644
--- a/src/mbgl/storage/resource_transform.cpp
+++ b/src/mbgl/storage/resource_transform.cpp
@@ -6,7 +6,7 @@ ResourceTransform::ResourceTransform(ActorRef<ResourceTransform>, TransformCallb
: transformCallback(std::move(callback)) {
}
-void ResourceTransform::transform(Resource::Kind kind, const std::string&& url, FinishedCallback&& finished) {
+void ResourceTransform::transform(ResourceKind kind, const std::string&& url, FinishedCallback&& finished) {
finished(transformCallback(kind, std::move(url)));
}
diff --git a/src/mbgl/storage/response.cpp b/src/mbgl/storage/response.cpp
index a174339074..a40446a8a0 100644
--- a/src/mbgl/storage/response.cpp
+++ b/src/mbgl/storage/response.cpp
@@ -21,24 +21,24 @@ Response& Response::operator=(const Response& res) {
return *this;
}
-Response::Error::Error(Reason reason_, std::string message_, optional<Timestamp> retryAfter_)
- : reason(reason_), message(std::move(message_)), retryAfter(std::move(retryAfter_)) {
+Response::Error::Error(ResourceStatus reason_, std::string message_, optional<Timestamp> retryAfter_)
+ : status(reason_), message(std::move(message_)), retryAfter(std::move(retryAfter_)) {
}
-std::ostream& operator<<(std::ostream& os, Response::Error::Reason r) {
+std::ostream& operator<<(std::ostream& os, ResourceStatus r) {
switch (r) {
- case Response::Error::Reason::Success:
- return os << "Response::Error::Reason::Success";
- case Response::Error::Reason::NotFound:
- return os << "Response::Error::Reason::NotFound";
- case Response::Error::Reason::Server:
- return os << "Response::Error::Reason::Server";
- case Response::Error::Reason::Connection:
- return os << "Response::Error::Reason::Connection";
- case Response::Error::Reason::RateLimit:
- return os << "Response::Error::Reason::RateLimit";
- case Response::Error::Reason::Other:
- return os << "Response::Error::Reason::Other";
+ case ResourceStatus::Success:
+ return os << "ResourceStatus::Success";
+ case ResourceStatus::NotFoundError:
+ return os << "ResourceStatus::NotFoundError";
+ case ResourceStatus::ServerError:
+ return os << "ResourceStatus::ServerError";
+ case ResourceStatus::ConnectionError:
+ return os << "ResourceStatus::ConnectionError";
+ case ResourceStatus::RateLimitError:
+ return os << "ResourceStatus::RateLimitError";
+ case ResourceStatus::OtherError:
+ return os << "ResourceStatus::OtherError";
}
// The above switch is exhaustive, but placate GCC nonetheless:
diff --git a/src/mbgl/style/sources/image_source.cpp b/src/mbgl/style/sources/image_source.cpp
index 9b60ba1a48..854b1b3f8c 100644
--- a/src/mbgl/style/sources/image_source.cpp
+++ b/src/mbgl/style/sources/image_source.cpp
@@ -59,7 +59,7 @@ void ImageSource::loadDescription(FileSource& fileSource) {
if (req || loaded) {
return;
}
- const Resource imageResource { Resource::Image, *url, {}, Resource::Necessity::Required };
+ const Resource imageResource { ResourceKind::Image, *url, {}, Resource::Necessity::Required };
req = fileSource.request(imageResource, [this](Response res) {
if (res.error) {
diff --git a/src/mbgl/tile/tile_loader_impl.hpp b/src/mbgl/tile/tile_loader_impl.hpp
index 899cbaf9b0..65df200088 100644
--- a/src/mbgl/tile/tile_loader_impl.hpp
+++ b/src/mbgl/tile/tile_loader_impl.hpp
@@ -57,7 +57,7 @@ void TileLoader<T>::loadOptional() {
tile.setTriedOptional();
- if (res.error && res.error->reason == Response::Error::Reason::NotFound) {
+ if (res.error && res.error->status == ResourceStatus::NotFoundError) {
// When the optional request could not be satisfied, don't treat it as an error.
// Instead, we make sure that the next request knows that there has been an optional
// request before by setting one of the prior* fields.
@@ -89,7 +89,7 @@ void TileLoader<T>::makeOptional() {
template <typename T>
void TileLoader<T>::loadedData(const Response& res) {
- if (res.error && res.error->reason != Response::Error::Reason::NotFound) {
+ if (res.error && res.error->status != ResourceStatus::NotFoundError) {
tile.setError(std::make_exception_ptr(std::runtime_error(res.error->message)));
} else if (res.notModified) {
resource.priorExpires = res.expires;
diff --git a/src/mbgl/util/http_timeout.cpp b/src/mbgl/util/http_timeout.cpp
index ca9a93498f..626b0c43ae 100644
--- a/src/mbgl/util/http_timeout.cpp
+++ b/src/mbgl/util/http_timeout.cpp
@@ -4,16 +4,16 @@
namespace mbgl {
namespace http {
-Duration errorRetryTimeout(Response::Error::Reason failedRequestReason, uint32_t failedRequests, optional<Timestamp> retryAfter) {
+Duration errorRetryTimeout(ResourceStatus failedRequestReason, uint32_t failedRequests, optional<Timestamp> retryAfter) {
- if (failedRequestReason == Response::Error::Reason::Server) {
+ if (failedRequestReason == ResourceStatus::ServerError) {
// Retry after one second three times, then start exponential backoff.
return Seconds(failedRequests <= 3 ? 1 : 1u << std::min(failedRequests - 3, 31u));
- } else if (failedRequestReason == Response::Error::Reason::Connection) {
+ } else if (failedRequestReason == ResourceStatus::ConnectionError) {
// Immediate exponential backoff.
assert(failedRequests > 0);
return Seconds(1u << std::min(failedRequests - 1, 31u));
- } else if (failedRequestReason == Response::Error::Reason::RateLimit) {
+ } else if (failedRequestReason == ResourceStatus::RateLimitError) {
if (retryAfter) {
return *retryAfter - util::now();
} else {
diff --git a/src/mbgl/util/http_timeout.hpp b/src/mbgl/util/http_timeout.hpp
index b694794997..b7eb0bcb7b 100644
--- a/src/mbgl/util/http_timeout.hpp
+++ b/src/mbgl/util/http_timeout.hpp
@@ -7,7 +7,7 @@
namespace mbgl {
namespace http {
-Duration errorRetryTimeout(Response::Error::Reason failedRequestReason, uint32_t failedRequests, optional<Timestamp> retryAfter = {});
+Duration errorRetryTimeout(ResourceStatus failedRequestReason, uint32_t failedRequests, optional<Timestamp> retryAfter = {});
Duration expirationTimeout(optional<Timestamp> expires, uint32_t expiredRequests);
diff --git a/test/map/map.test.cpp b/test/map/map.test.cpp
index 3e8f8696e1..6c2ac7b0d7 100644
--- a/test/map/map.test.cpp
+++ b/test/map/map.test.cpp
@@ -193,7 +193,7 @@ TEST(Map, SetStyleInvalidURL) {
test.fileSource.styleResponse = [] (const Resource&) {
Response response;
response.error = std::make_unique<Response::Error>(
- Response::Error::Reason::Other,
+ ResourceStatus::OtherError,
"Failed by the test case");
return response;
};
@@ -226,7 +226,7 @@ TEST(Map, StyleFresh) {
response.data = std::make_shared<std::string>(util::read_file("test/fixtures/api/empty.json"));
response.expires = Timestamp::max();
- test.fileSource.respond(Resource::Style, response);
+ test.fileSource.respond(ResourceKind::Style, response);
EXPECT_EQ(0u, test.fileSource.requests.size());
}
@@ -244,13 +244,13 @@ TEST(Map, StyleExpired) {
response.data = std::make_shared<std::string>(util::read_file("test/fixtures/api/empty.json"));
response.expires = util::now() - 1h;
- test.fileSource.respond(Resource::Style, response);
+ test.fileSource.respond(ResourceKind::Style, response);
EXPECT_EQ(1u, test.fileSource.requests.size());
test.map.getStyle().addLayer(std::make_unique<style::BackgroundLayer>("bg"));
EXPECT_EQ(1u, test.fileSource.requests.size());
- test.fileSource.respond(Resource::Style, response);
+ test.fileSource.respond(ResourceKind::Style, response);
EXPECT_EQ(0u, test.fileSource.requests.size());
EXPECT_NE(nullptr, test.map.getStyle().getLayer("bg"));
}
@@ -269,13 +269,13 @@ TEST(Map, StyleExpiredWithAnnotations) {
response.data = std::make_shared<std::string>(util::read_file("test/fixtures/api/empty.json"));
response.expires = util::now() - 1h;
- test.fileSource.respond(Resource::Style, response);
+ test.fileSource.respond(ResourceKind::Style, response);
EXPECT_EQ(1u, test.fileSource.requests.size());
test.map.addAnnotation(LineAnnotation { LineString<double> {{ { 0, 0 }, { 10, 10 } }} });
EXPECT_EQ(1u, test.fileSource.requests.size());
- test.fileSource.respond(Resource::Style, response);
+ test.fileSource.respond(ResourceKind::Style, response);
EXPECT_EQ(1u, test.fileSource.requests.size());
}
@@ -293,13 +293,13 @@ TEST(Map, StyleExpiredWithRender) {
response.data = std::make_shared<std::string>(util::read_file("test/fixtures/api/empty.json"));
response.expires = util::now() - 1h;
- test.fileSource.respond(Resource::Style, response);
+ test.fileSource.respond(ResourceKind::Style, response);
EXPECT_EQ(1u, test.fileSource.requests.size());
test::render(test.map, test.view);
EXPECT_EQ(1u, test.fileSource.requests.size());
- test.fileSource.respond(Resource::Style, response);
+ test.fileSource.respond(ResourceKind::Style, response);
EXPECT_EQ(1u, test.fileSource.requests.size());
}
@@ -313,7 +313,7 @@ TEST(Map, StyleEarlyMutation) {
Response response;
response.data = std::make_shared<std::string>(util::read_file("test/fixtures/api/water.json"));
- test.fileSource.respond(Resource::Style, response);
+ test.fileSource.respond(ResourceKind::Style, response);
EXPECT_EQ(0u, test.fileSource.requests.size());
EXPECT_NE(nullptr, test.map.getStyle().getLayer("water"));
diff --git a/test/sprite/sprite_loader.test.cpp b/test/sprite/sprite_loader.test.cpp
index 3691572265..ca8162d685 100644
--- a/test/sprite/sprite_loader.test.cpp
+++ b/test/sprite/sprite_loader.test.cpp
@@ -72,7 +72,7 @@ Response successfulSpriteJSONResponse(const Resource& resource) {
Response failedSpriteResponse(const Resource&) {
Response response;
response.error = std::make_unique<Response::Error>(
- Response::Error::Reason::Other,
+ ResourceStatus::OtherError,
"Failed by the test case");
return response;
}
diff --git a/test/src/mbgl/test/fake_file_source.hpp b/test/src/mbgl/test/fake_file_source.hpp
index baae7f9b7e..69ab29645a 100644
--- a/test/src/mbgl/test/fake_file_source.hpp
+++ b/test/src/mbgl/test/fake_file_source.hpp
@@ -41,7 +41,7 @@ public:
return std::make_unique<FakeFileRequest>(resource, callback, requests);
}
- bool respond(Resource::Kind kind, const Response& response) {
+ bool respond(ResourceKind kind, const Response& response) {
auto it = std::find_if(requests.begin(), requests.end(), [&] (FakeFileRequest* fakeRequest) {
return fakeRequest->resource.kind == kind;
});
diff --git a/test/src/mbgl/test/stub_file_source.cpp b/test/src/mbgl/test/stub_file_source.cpp
index 7891d5d907..2eeaccf30b 100644
--- a/test/src/mbgl/test/stub_file_source.cpp
+++ b/test/src/mbgl/test/stub_file_source.cpp
@@ -59,28 +59,28 @@ void StubFileSource::remove(AsyncRequest* req) {
optional<Response> StubFileSource::defaultResponse(const Resource& resource) {
switch (resource.kind) {
- case Resource::Kind::Style:
+ case ResourceKind::Style:
if (!styleResponse) throw std::runtime_error("unexpected style request");
return styleResponse(resource);
- case Resource::Kind::Source:
+ case ResourceKind::Source:
if (!sourceResponse) throw std::runtime_error("unexpected source request");
return sourceResponse(resource);
- case Resource::Kind::Tile:
+ case ResourceKind::Tile:
if (!tileResponse) throw std::runtime_error("unexpected tile request");
return tileResponse(resource);
- case Resource::Kind::Glyphs:
+ case ResourceKind::Glyphs:
if (!glyphsResponse) throw std::runtime_error("unexpected glyphs request");
return glyphsResponse(resource);
- case Resource::Kind::SpriteJSON:
+ case ResourceKind::SpriteJSON:
if (!spriteJSONResponse) throw std::runtime_error("unexpected sprite JSON request");
return spriteJSONResponse(resource);
- case Resource::Kind::SpriteImage:
+ case ResourceKind::SpriteImage:
if (!spriteImageResponse) throw std::runtime_error("unexpected sprite image request");
return spriteImageResponse(resource);
- case Resource::Kind::Image:
+ case ResourceKind::Image:
if (!imageResponse) throw std::runtime_error("unexpected image request");
return imageResponse(resource);
- case Resource::Kind::Unknown:
+ case ResourceKind::Unknown:
throw std::runtime_error("unknown resource type");
}
diff --git a/test/storage/asset_file_source.test.cpp b/test/storage/asset_file_source.test.cpp
index a39d2963d2..e4b0827b68 100644
--- a/test/storage/asset_file_source.test.cpp
+++ b/test/storage/asset_file_source.test.cpp
@@ -40,11 +40,11 @@ TEST(AssetFileSource, Load) {
endCallback();
request.reset();
} else {
- request = fs->request({ mbgl::Resource::Unknown, asset }, requestCallback);
+ request = fs->request({ mbgl::ResourceKind::Unknown, asset }, requestCallback);
}
};
- request = fs->request({ mbgl::Resource::Unknown, asset }, requestCallback);
+ request = fs->request({ mbgl::ResourceKind::Unknown, asset }, requestCallback);
}
private:
@@ -74,7 +74,7 @@ TEST(AssetFileSource, EmptyFile) {
AssetFileSource fs("test/fixtures/storage/assets");
- std::unique_ptr<AsyncRequest> req = fs.request({ Resource::Unknown, "asset://empty" }, [&](Response res) {
+ std::unique_ptr<AsyncRequest> req = fs.request({ ResourceKind::Unknown, "asset://empty" }, [&](Response res) {
req.reset();
EXPECT_EQ(nullptr, res.error);
ASSERT_TRUE(res.data.get());
@@ -90,7 +90,7 @@ TEST(AssetFileSource, NonEmptyFile) {
AssetFileSource fs("test/fixtures/storage/assets");
- std::unique_ptr<AsyncRequest> req = fs.request({ Resource::Unknown, "asset://nonempty" }, [&](Response res) {
+ std::unique_ptr<AsyncRequest> req = fs.request({ ResourceKind::Unknown, "asset://nonempty" }, [&](Response res) {
req.reset();
EXPECT_EQ(nullptr, res.error);
ASSERT_TRUE(res.data.get());
@@ -106,10 +106,10 @@ TEST(AssetFileSource, NonExistentFile) {
AssetFileSource fs("test/fixtures/storage/assets");
- std::unique_ptr<AsyncRequest> req = fs.request({ Resource::Unknown, "asset://does_not_exist" }, [&](Response res) {
+ std::unique_ptr<AsyncRequest> req = fs.request({ ResourceKind::Unknown, "asset://does_not_exist" }, [&](Response res) {
req.reset();
ASSERT_NE(nullptr, res.error);
- EXPECT_EQ(Response::Error::Reason::NotFound, res.error->reason);
+ EXPECT_EQ(ResourceStatus::NotFoundError, res.error->status);
ASSERT_FALSE(res.data.get());
// Do not assert on platform-specific error message.
loop.stop();
@@ -123,10 +123,10 @@ TEST(AssetFileSource, ReadDirectory) {
AssetFileSource fs("test/fixtures/storage/assets");
- std::unique_ptr<AsyncRequest> req = fs.request({ Resource::Unknown, "asset://directory" }, [&](Response res) {
+ std::unique_ptr<AsyncRequest> req = fs.request({ ResourceKind::Unknown, "asset://directory" }, [&](Response res) {
req.reset();
ASSERT_NE(nullptr, res.error);
- EXPECT_EQ(Response::Error::Reason::NotFound, res.error->reason);
+ EXPECT_EQ(ResourceStatus::NotFoundError, res.error->status);
ASSERT_FALSE(res.data.get());
// Do not assert on platform-specific error message.
loop.stop();
@@ -140,7 +140,7 @@ TEST(AssetFileSource, URLEncoding) {
AssetFileSource fs("test/fixtures/storage/assets");
- std::unique_ptr<AsyncRequest> req = fs.request({ Resource::Unknown, "asset://%6eonempty" }, [&](Response res) {
+ std::unique_ptr<AsyncRequest> req = fs.request({ ResourceKind::Unknown, "asset://%6eonempty" }, [&](Response res) {
req.reset();
EXPECT_EQ(nullptr, res.error);
ASSERT_TRUE(res.data.get());
diff --git a/test/storage/default_file_source.test.cpp b/test/storage/default_file_source.test.cpp
index 41e305a692..271b5b50b1 100644
--- a/test/storage/default_file_source.test.cpp
+++ b/test/storage/default_file_source.test.cpp
@@ -10,7 +10,7 @@ TEST(DefaultFileSource, TEST_REQUIRES_SERVER(CacheResponse)) {
util::RunLoop loop;
DefaultFileSource fs(":memory:", ".");
- const Resource resource { Resource::Unknown, "http://127.0.0.1:3000/cache" };
+ const Resource resource { ResourceKind::Unknown, "http://127.0.0.1:3000/cache" };
Response response;
std::unique_ptr<AsyncRequest> req1;
@@ -48,7 +48,7 @@ TEST(DefaultFileSource, TEST_REQUIRES_SERVER(CacheRevalidateSame)) {
util::RunLoop loop;
DefaultFileSource fs(":memory:", ".");
- const Resource revalidateSame { Resource::Unknown, "http://127.0.0.1:3000/revalidate-same" };
+ const Resource revalidateSame { ResourceKind::Unknown, "http://127.0.0.1:3000/revalidate-same" };
std::unique_ptr<AsyncRequest> req1;
std::unique_ptr<AsyncRequest> req2;
uint16_t counter = 0;
@@ -92,7 +92,7 @@ TEST(DefaultFileSource, TEST_REQUIRES_SERVER(CacheRevalidateModified)) {
util::RunLoop loop;
DefaultFileSource fs(":memory:", ".");
- const Resource revalidateModified{ Resource::Unknown,
+ const Resource revalidateModified{ ResourceKind::Unknown,
"http://127.0.0.1:3000/revalidate-modified" };
std::unique_ptr<AsyncRequest> req1;
std::unique_ptr<AsyncRequest> req2;
@@ -136,7 +136,7 @@ TEST(DefaultFileSource, TEST_REQUIRES_SERVER(CacheRevalidateEtag)) {
util::RunLoop loop;
DefaultFileSource fs(":memory:", ".");
- const Resource revalidateEtag { Resource::Unknown, "http://127.0.0.1:3000/revalidate-etag" };
+ const Resource revalidateEtag { ResourceKind::Unknown, "http://127.0.0.1:3000/revalidate-etag" };
std::unique_ptr<AsyncRequest> req1;
std::unique_ptr<AsyncRequest> req2;
uint16_t counter = 0;
@@ -191,7 +191,7 @@ TEST(DefaultFileSource, TEST_REQUIRES_SERVER(HTTPIssue1369)) {
util::RunLoop loop;
DefaultFileSource fs(":memory:", ".");
- const Resource resource { Resource::Unknown, "http://127.0.0.1:3000/test" };
+ const Resource resource { ResourceKind::Unknown, "http://127.0.0.1:3000/test" };
auto req = fs.request(resource, [&](Response) {
ADD_FAILURE() << "Callback should not be called";
@@ -215,7 +215,7 @@ TEST(DefaultFileSource, OptionalNonExpired) {
util::RunLoop loop;
DefaultFileSource fs(":memory:", ".");
- const Resource optionalResource { Resource::Unknown, "http://127.0.0.1:3000/test", {}, Resource::Optional };
+ const Resource optionalResource { ResourceKind::Unknown, "http://127.0.0.1:3000/test", {}, Resource::Optional };
using namespace std::chrono_literals;
@@ -244,7 +244,7 @@ TEST(DefaultFileSource, OptionalExpired) {
util::RunLoop loop;
DefaultFileSource fs(":memory:", ".");
- const Resource optionalResource { Resource::Unknown, "http://127.0.0.1:3000/test", {}, Resource::Optional };
+ const Resource optionalResource { ResourceKind::Unknown, "http://127.0.0.1:3000/test", {}, Resource::Optional };
using namespace std::chrono_literals;
@@ -289,7 +289,7 @@ TEST(DefaultFileSource, OptionalNotFound) {
util::RunLoop loop;
DefaultFileSource fs(":memory:", ".");
- const Resource optionalResource { Resource::Unknown, "http://127.0.0.1:3000/test", {}, Resource::Optional };
+ const Resource optionalResource { ResourceKind::Unknown, "http://127.0.0.1:3000/test", {}, Resource::Optional };
using namespace std::chrono_literals;
@@ -297,7 +297,7 @@ TEST(DefaultFileSource, OptionalNotFound) {
req = fs.request(optionalResource, [&](Response res) {
req.reset();
ASSERT_TRUE(res.error.get());
- EXPECT_EQ(Response::Error::Reason::NotFound, res.error->reason);
+ EXPECT_EQ(ResourceStatus::NotFoundError, res.error->status);
EXPECT_EQ("Not found in offline database", res.error->message);
EXPECT_FALSE(res.data);
EXPECT_FALSE(bool(res.expires));
@@ -315,7 +315,7 @@ TEST(DefaultFileSource, TEST_REQUIRES_SERVER(NoCacheRefreshEtagNotModified)) {
util::RunLoop loop;
DefaultFileSource fs(":memory:", ".");
- Resource resource { Resource::Unknown, "http://127.0.0.1:3000/revalidate-same" };
+ Resource resource { ResourceKind::Unknown, "http://127.0.0.1:3000/revalidate-same" };
resource.priorEtag.emplace("snowfall");
using namespace std::chrono_literals;
@@ -349,7 +349,7 @@ TEST(DefaultFileSource, TEST_REQUIRES_SERVER(NoCacheRefreshEtagModified)) {
util::RunLoop loop;
DefaultFileSource fs(":memory:", ".");
- Resource resource { Resource::Unknown, "http://127.0.0.1:3000/revalidate-same" };
+ Resource resource { ResourceKind::Unknown, "http://127.0.0.1:3000/revalidate-same" };
resource.priorEtag.emplace("sunshine");
using namespace std::chrono_literals;
@@ -383,7 +383,7 @@ TEST(DefaultFileSource, TEST_REQUIRES_SERVER(NoCacheFull)) {
util::RunLoop loop;
DefaultFileSource fs(":memory:", ".");
- Resource resource { Resource::Unknown, "http://127.0.0.1:3000/revalidate-same" };
+ Resource resource { ResourceKind::Unknown, "http://127.0.0.1:3000/revalidate-same" };
// Setting any prior field results in skipping the cache.
resource.priorExpires.emplace(Seconds(0));
@@ -418,7 +418,7 @@ TEST(DefaultFileSource, TEST_REQUIRES_SERVER(NoCacheRefreshModifiedNotModified))
util::RunLoop loop;
DefaultFileSource fs(":memory:", ".");
- Resource resource { Resource::Unknown, "http://127.0.0.1:3000/revalidate-modified" };
+ Resource resource { ResourceKind::Unknown, "http://127.0.0.1:3000/revalidate-modified" };
resource.priorModified.emplace(Seconds(1420070400)); // January 1, 2015
using namespace std::chrono_literals;
@@ -452,7 +452,7 @@ TEST(DefaultFileSource, TEST_REQUIRES_SERVER(NoCacheRefreshModifiedModified)) {
util::RunLoop loop;
DefaultFileSource fs(":memory:", ".");
- Resource resource { Resource::Unknown, "http://127.0.0.1:3000/revalidate-modified" };
+ Resource resource { ResourceKind::Unknown, "http://127.0.0.1:3000/revalidate-modified" };
resource.priorModified.emplace(Seconds(1417392000)); // December 1, 2014
using namespace std::chrono_literals;
@@ -484,7 +484,7 @@ TEST(DefaultFileSource, TEST_REQUIRES_SERVER(SetResourceTransform)) {
DefaultFileSource fs(":memory:", ".");
// Translates the URL "localhost://test to http://127.0.0.1:3000/test
- Actor<ResourceTransform> transform(loop, [](Resource::Kind, const std::string&& url) -> std::string {
+ Actor<ResourceTransform> transform(loop, [](ResourceKind, const std::string&& url) -> std::string {
if (url == "localhost://test") {
return "http://127.0.0.1:3000/test";
} else {
@@ -493,7 +493,7 @@ TEST(DefaultFileSource, TEST_REQUIRES_SERVER(SetResourceTransform)) {
});
fs.setResourceTransform(transform.self());
- const Resource resource1 { Resource::Unknown, "localhost://test" };
+ const Resource resource1 { ResourceKind::Unknown, "localhost://test" };
std::unique_ptr<AsyncRequest> req;
req = fs.request(resource1, [&](Response res) {
@@ -510,7 +510,7 @@ TEST(DefaultFileSource, TEST_REQUIRES_SERVER(SetResourceTransform)) {
loop.run();
fs.setResourceTransform({});
- const Resource resource2 { Resource::Unknown, "http://127.0.0.1:3000/test" };
+ const Resource resource2 { ResourceKind::Unknown, "http://127.0.0.1:3000/test" };
req = fs.request(resource2, [&](Response res) {
req.reset();
diff --git a/test/storage/http_file_source.test.cpp b/test/storage/http_file_source.test.cpp
index 5b081d7d57..de523348c8 100644
--- a/test/storage/http_file_source.test.cpp
+++ b/test/storage/http_file_source.test.cpp
@@ -10,7 +10,7 @@ TEST(HTTPFileSource, TEST_REQUIRES_SERVER(Cancel)) {
util::RunLoop loop;
HTTPFileSource fs;
- fs.request({ Resource::Unknown, "http://127.0.0.1:3000/test" }, [&](Response) {
+ fs.request({ ResourceKind::Unknown, "http://127.0.0.1:3000/test" }, [&](Response) {
ADD_FAILURE() << "Callback should not be called";
});
@@ -21,7 +21,7 @@ TEST(HTTPFileSource, TEST_REQUIRES_SERVER(HTTP200)) {
util::RunLoop loop;
HTTPFileSource fs;
- auto req = fs.request({ Resource::Unknown, "http://127.0.0.1:3000/test" }, [&](Response res) {
+ auto req = fs.request({ ResourceKind::Unknown, "http://127.0.0.1:3000/test" }, [&](Response res) {
EXPECT_EQ(nullptr, res.error);
ASSERT_TRUE(res.data.get());
EXPECT_EQ("Hello World!", *res.data);
@@ -38,9 +38,9 @@ TEST(HTTPFileSource, TEST_REQUIRES_SERVER(HTTP404)) {
util::RunLoop loop;
HTTPFileSource fs;
- auto req = fs.request({ Resource::Unknown, "http://127.0.0.1:3000/doesnotexist" }, [&](Response res) {
+ auto req = fs.request({ ResourceKind::Unknown, "http://127.0.0.1:3000/doesnotexist" }, [&](Response res) {
ASSERT_NE(nullptr, res.error);
- EXPECT_EQ(Response::Error::Reason::NotFound, res.error->reason);
+ EXPECT_EQ(ResourceStatus::NotFoundError, res.error->status);
EXPECT_EQ("HTTP status code 404", res.error->message);
EXPECT_FALSE(bool(res.data));
EXPECT_FALSE(bool(res.expires));
@@ -56,7 +56,7 @@ TEST(HTTPFileSource, TEST_REQUIRES_SERVER(HTTPTile404)) {
util::RunLoop loop;
HTTPFileSource fs;
- auto req = fs.request({ Resource::Tile, "http://127.0.0.1:3000/doesnotexist" }, [&](Response res) {
+ auto req = fs.request({ ResourceKind::Tile, "http://127.0.0.1:3000/doesnotexist" }, [&](Response res) {
EXPECT_TRUE(res.noContent);
EXPECT_FALSE(bool(res.error));
EXPECT_FALSE(bool(res.data));
@@ -73,7 +73,7 @@ TEST(HTTPFileSource, TEST_REQUIRES_SERVER(HTTP200EmptyData)) {
util::RunLoop loop;
HTTPFileSource fs;
- auto req = fs.request({ Resource::Unknown, "http://127.0.0.1:3000/empty-data" }, [&](Response res) {
+ auto req = fs.request({ ResourceKind::Unknown, "http://127.0.0.1:3000/empty-data" }, [&](Response res) {
EXPECT_FALSE(res.noContent);
EXPECT_FALSE(bool(res.error));
EXPECT_EQ(*res.data, std::string());
@@ -90,7 +90,7 @@ TEST(HTTPFileSource, TEST_REQUIRES_SERVER(HTTP204)) {
util::RunLoop loop;
HTTPFileSource fs;
- auto req = fs.request({ Resource::Unknown, "http://127.0.0.1:3000/no-content" }, [&](Response res) {
+ auto req = fs.request({ ResourceKind::Unknown, "http://127.0.0.1:3000/no-content" }, [&](Response res) {
EXPECT_TRUE(res.noContent);
EXPECT_FALSE(bool(res.error));
EXPECT_FALSE(bool(res.data));
@@ -107,9 +107,9 @@ TEST(HTTPFileSource, TEST_REQUIRES_SERVER(HTTP500)) {
util::RunLoop loop;
HTTPFileSource fs;
- auto req = fs.request({ Resource::Unknown, "http://127.0.0.1:3000/permanent-error" }, [&](Response res) {
+ auto req = fs.request({ ResourceKind::Unknown, "http://127.0.0.1:3000/permanent-error" }, [&](Response res) {
ASSERT_NE(nullptr, res.error);
- EXPECT_EQ(Response::Error::Reason::Server, res.error->reason);
+ EXPECT_EQ(ResourceStatus::ServerError, res.error->status);
EXPECT_EQ("HTTP status code 500", res.error->message);
EXPECT_FALSE(bool(res.data));
EXPECT_FALSE(bool(res.expires));
@@ -125,7 +125,7 @@ TEST(HTTPFileSource, TEST_REQUIRES_SERVER(ExpiresParsing)) {
util::RunLoop loop;
HTTPFileSource fs;
- auto req = fs.request({ Resource::Unknown,
+ auto req = fs.request({ ResourceKind::Unknown,
"http://127.0.0.1:3000/test?modified=1420794326&expires=1420797926&etag=foo" }, [&](Response res) {
EXPECT_EQ(nullptr, res.error);
ASSERT_TRUE(res.data.get());
@@ -143,7 +143,7 @@ TEST(HTTPFileSource, TEST_REQUIRES_SERVER(CacheControlParsing)) {
util::RunLoop loop;
HTTPFileSource fs;
- auto req = fs.request({ Resource::Unknown, "http://127.0.0.1:3000/test?cachecontrol=max-age=120" }, [&](Response res) {
+ auto req = fs.request({ ResourceKind::Unknown, "http://127.0.0.1:3000/test?cachecontrol=max-age=120" }, [&](Response res) {
EXPECT_EQ(nullptr, res.error);
ASSERT_TRUE(res.data.get());
EXPECT_EQ("Hello World!", *res.data);
@@ -168,7 +168,7 @@ TEST(HTTPFileSource, TEST_REQUIRES_SERVER(Load)) {
std::function<void(int)> req = [&](int i) {
const auto current = number++;
- reqs[i] = fs.request({ Resource::Unknown,
+ reqs[i] = fs.request({ ResourceKind::Unknown,
std::string("http://127.0.0.1:3000/load/") + std::to_string(current) },
[&, i, current](Response res) {
reqs[i].reset();
diff --git a/test/storage/local_file_source.test.cpp b/test/storage/local_file_source.test.cpp
index 4d509e6c7d..d537c8fe90 100644
--- a/test/storage/local_file_source.test.cpp
+++ b/test/storage/local_file_source.test.cpp
@@ -25,7 +25,7 @@ TEST(LocalFileSource, EmptyFile) {
LocalFileSource fs;
- std::unique_ptr<AsyncRequest> req = fs.request({ Resource::Unknown, toAbsoluteURL("empty") }, [&](Response res) {
+ std::unique_ptr<AsyncRequest> req = fs.request({ ResourceKind::Unknown, toAbsoluteURL("empty") }, [&](Response res) {
req.reset();
EXPECT_EQ(nullptr, res.error);
ASSERT_TRUE(res.data.get());
@@ -41,7 +41,7 @@ TEST(LocalFileSource, NonEmptyFile) {
LocalFileSource fs;
- std::unique_ptr<AsyncRequest> req = fs.request({ Resource::Unknown, toAbsoluteURL("nonempty") }, [&](Response res) {
+ std::unique_ptr<AsyncRequest> req = fs.request({ ResourceKind::Unknown, toAbsoluteURL("nonempty") }, [&](Response res) {
req.reset();
EXPECT_EQ(nullptr, res.error);
ASSERT_TRUE(res.data.get());
@@ -57,10 +57,10 @@ TEST(LocalFileSource, NonExistentFile) {
LocalFileSource fs;
- std::unique_ptr<AsyncRequest> req = fs.request({ Resource::Unknown, toAbsoluteURL("does_not_exist") }, [&](Response res) {
+ std::unique_ptr<AsyncRequest> req = fs.request({ ResourceKind::Unknown, toAbsoluteURL("does_not_exist") }, [&](Response res) {
req.reset();
ASSERT_NE(nullptr, res.error);
- EXPECT_EQ(Response::Error::Reason::NotFound, res.error->reason);
+ EXPECT_EQ(ResourceStatus::NotFoundError, res.error->status);
ASSERT_FALSE(res.data.get());
// Do not assert on platform-specific error message.
loop.stop();
@@ -74,10 +74,10 @@ TEST(LocalFileSource, ReadDirectory) {
LocalFileSource fs;
- std::unique_ptr<AsyncRequest> req = fs.request({ Resource::Unknown, toAbsoluteURL("directory") }, [&](Response res) {
+ std::unique_ptr<AsyncRequest> req = fs.request({ ResourceKind::Unknown, toAbsoluteURL("directory") }, [&](Response res) {
req.reset();
ASSERT_NE(nullptr, res.error);
- EXPECT_EQ(Response::Error::Reason::NotFound, res.error->reason);
+ EXPECT_EQ(ResourceStatus::NotFoundError, res.error->status);
ASSERT_FALSE(res.data.get());
// Do not assert on platform-specific error message.
loop.stop();
@@ -91,7 +91,7 @@ TEST(LocalFileSource, URLEncoding) {
LocalFileSource fs;
- std::unique_ptr<AsyncRequest> req = fs.request({ Resource::Unknown, toAbsoluteURL("%6eonempty") }, [&](Response res) {
+ std::unique_ptr<AsyncRequest> req = fs.request({ ResourceKind::Unknown, toAbsoluteURL("%6eonempty") }, [&](Response res) {
req.reset();
EXPECT_EQ(nullptr, res.error);
ASSERT_TRUE(res.data.get());
@@ -112,10 +112,10 @@ TEST(LocalFileSource, URLLimit) {
std::string url(filename, length);
- std::unique_ptr<AsyncRequest> req = fs.request({ Resource::Unknown, toAbsoluteURL(url) }, [&](Response res) {
+ std::unique_ptr<AsyncRequest> req = fs.request({ ResourceKind::Unknown, toAbsoluteURL(url) }, [&](Response res) {
req.reset();
ASSERT_NE(nullptr, res.error);
- EXPECT_EQ(Response::Error::Reason::Other, res.error->reason);
+ EXPECT_EQ(ResourceStatus::OtherError, res.error->status);
ASSERT_FALSE(res.data.get());
loop.stop();
});
diff --git a/test/storage/offline_database.test.cpp b/test/storage/offline_database.test.cpp
index 872310e46f..ccb15ff969 100644
--- a/test/storage/offline_database.test.cpp
+++ b/test/storage/offline_database.test.cpp
@@ -89,7 +89,7 @@ TEST(OfflineDatabase, TEST_REQUIRES_WRITE(Create)) {
Log::setObserver(std::make_unique<FixtureLogObserver>());
OfflineDatabase db("test/fixtures/offline_database/offline.db");
- EXPECT_FALSE(bool(db.get({ Resource::Unknown, "mapbox://test" })));
+ EXPECT_FALSE(bool(db.get({ ResourceKind::Unknown, "mapbox://test" })));
Log::removeObserver();
}
@@ -137,9 +137,9 @@ TEST(OfflineDatabase, PutDoesNotStoreConnectionErrors) {
OfflineDatabase db(":memory:");
- Resource resource { Resource::Unknown, "http://example.com/" };
+ Resource resource { ResourceKind::Unknown, "http://example.com/" };
Response response;
- response.error = std::make_unique<Response::Error>(Response::Error::Reason::Connection);
+ response.error = std::make_unique<Response::Error>(ResourceStatus::ConnectionError);
db.put(resource, response);
EXPECT_FALSE(bool(db.get(resource)));
@@ -150,9 +150,9 @@ TEST(OfflineDatabase, PutDoesNotStoreServerErrors) {
OfflineDatabase db(":memory:");
- Resource resource { Resource::Unknown, "http://example.com/" };
+ Resource resource { ResourceKind::Unknown, "http://example.com/" };
Response response;
- response.error = std::make_unique<Response::Error>(Response::Error::Reason::Server);
+ response.error = std::make_unique<Response::Error>(ResourceStatus::ServerError);
db.put(resource, response);
EXPECT_FALSE(bool(db.get(resource)));
@@ -163,7 +163,7 @@ TEST(OfflineDatabase, PutResource) {
OfflineDatabase db(":memory:");
- Resource resource { Resource::Style, "http://example.com/" };
+ Resource resource { ResourceKind::Style, "http://example.com/" };
Response response;
response.data = std::make_shared<std::string>("first");
@@ -190,7 +190,7 @@ TEST(OfflineDatabase, PutTile) {
OfflineDatabase db(":memory:");
- Resource resource { Resource::Tile, "http://example.com/" };
+ Resource resource { ResourceKind::Tile, "http://example.com/" };
resource.tileData = Resource::TileData {
"http://example.com/",
1,
@@ -224,7 +224,7 @@ TEST(OfflineDatabase, PutResourceNoContent) {
OfflineDatabase db(":memory:");
- Resource resource { Resource::Style, "http://example.com/" };
+ Resource resource { ResourceKind::Style, "http://example.com/" };
Response response;
response.noContent = true;
@@ -240,7 +240,7 @@ TEST(OfflineDatabase, PutTileNotFound) {
OfflineDatabase db(":memory:");
- Resource resource { Resource::Tile, "http://example.com/" };
+ Resource resource { ResourceKind::Tile, "http://example.com/" };
resource.tileData = Resource::TileData {
"http://example.com/",
1,
@@ -364,7 +364,7 @@ TEST(OfflineDatabase, TEST_REQUIRES_WRITE(ConcurrentUse)) {
OfflineDatabase db1("test/fixtures/offline_database/offline.db");
OfflineDatabase db2("test/fixtures/offline_database/offline.db");
- Resource resource { Resource::Style, "http://example.com/" };
+ Resource resource { ResourceKind::Style, "http://example.com/" };
Response response;
response.noContent = true;
@@ -525,7 +525,7 @@ TEST(OfflineDatabase, HasRegionResourceTile) {
OfflineRegionDefinition definition { "", LatLngBounds::world(), 0, INFINITY, 1.0 };
OfflineRegion region = db.createRegion(definition, OfflineRegionMetadata());
- Resource resource { Resource::Tile, "http://example.com/" };
+ Resource resource { ResourceKind::Tile, "http://example.com/" };
resource.tileData = Resource::TileData {
"http://example.com/",
1,
diff --git a/test/storage/offline_download.test.cpp b/test/storage/offline_download.test.cpp
index 57780eba40..78d9994e60 100644
--- a/test/storage/offline_download.test.cpp
+++ b/test/storage/offline_download.test.cpp
@@ -264,7 +264,7 @@ TEST(OfflineDownload, DoesNotFloodTheFileSourceWithRequests) {
EXPECT_EQ(1u, fileSource.requests.size());
- fileSource.respond(Resource::Kind::Style, test.response("style.json"));
+ fileSource.respond(ResourceKind::Style, test.response("style.json"));
test.loop.runOnce();
EXPECT_EQ(HTTPFileSource::maximumConcurrentRequests(), fileSource.requests.size());
@@ -345,14 +345,14 @@ TEST(OfflineDownload, RequestError) {
test.fileSource.styleResponse = [&] (const Resource&) {
Response response;
- response.error = std::make_unique<Response::Error>(Response::Error::Reason::Connection, "connection error");
+ response.error = std::make_unique<Response::Error>(ResourceStatus::ConnectionError, "connection error");
return response;
};
auto observer = std::make_unique<MockObserver>();
observer->responseErrorFn = [&] (Response::Error error) {
- EXPECT_EQ(Response::Error::Reason::Connection, error.reason);
+ EXPECT_EQ(ResourceStatus::ConnectionError, error.status);
EXPECT_EQ("connection error", error.message);
test.loop.stop();
};
@@ -377,7 +377,7 @@ TEST(OfflineDownload, RequestErrorsAreRetried) {
};
Response response;
- response.error = std::make_unique<Response::Error>(Response::Error::Reason::Connection, "connection error");
+ response.error = std::make_unique<Response::Error>(ResourceStatus::ConnectionError, "connection error");
return response;
};
diff --git a/test/storage/online_file_source.test.cpp b/test/storage/online_file_source.test.cpp
index 1a1d2d42f8..5229df6c23 100644
--- a/test/storage/online_file_source.test.cpp
+++ b/test/storage/online_file_source.test.cpp
@@ -14,7 +14,7 @@ TEST(OnlineFileSource, Cancel) {
util::RunLoop loop;
OnlineFileSource fs;
- fs.request({ Resource::Unknown, "http://127.0.0.1:3000/test" }, [&](Response) {
+ fs.request({ ResourceKind::Unknown, "http://127.0.0.1:3000/test" }, [&](Response) {
ADD_FAILURE() << "Callback should not be called";
});
@@ -25,7 +25,7 @@ TEST(OnlineFileSource, TEST_REQUIRES_SERVER(CancelMultiple)) {
util::RunLoop loop;
OnlineFileSource fs;
- const Resource resource { Resource::Unknown, "http://127.0.0.1:3000/test" };
+ const Resource resource { ResourceKind::Unknown, "http://127.0.0.1:3000/test" };
std::unique_ptr<AsyncRequest> req2 = fs.request(resource, [&](Response) {
ADD_FAILURE() << "Callback should not be called";
@@ -51,14 +51,14 @@ TEST(OnlineFileSource, TEST_REQUIRES_SERVER(TemporaryError)) {
const auto start = Clock::now();
- auto req = fs.request({ Resource::Unknown, "http://127.0.0.1:3000/temporary-error" }, [&](Response res) {
+ auto req = fs.request({ ResourceKind::Unknown, "http://127.0.0.1:3000/temporary-error" }, [&](Response res) {
static int counter = 0;
switch (counter++) {
case 0: {
const auto duration = std::chrono::duration<const double>(Clock::now() - start).count();
EXPECT_GT(0.2, duration) << "Initial error request took too long";
ASSERT_NE(nullptr, res.error);
- EXPECT_EQ(Response::Error::Reason::Server, res.error->reason);
+ EXPECT_EQ(ResourceStatus::ServerError, res.error->status);
EXPECT_EQ("HTTP status code 500", res.error->message);
ASSERT_FALSE(bool(res.data));
EXPECT_FALSE(bool(res.expires));
@@ -89,14 +89,14 @@ TEST(OnlineFileSource, TEST_REQUIRES_SERVER(ConnectionError)) {
const auto start = Clock::now();
- std::unique_ptr<AsyncRequest> req = fs.request({ Resource::Unknown, "http://127.0.0.1:3001/" }, [&](Response res) {
+ std::unique_ptr<AsyncRequest> req = fs.request({ ResourceKind::Unknown, "http://127.0.0.1:3001/" }, [&](Response res) {
static int counter = 0;
static int wait = 0;
const auto duration = std::chrono::duration<const double>(Clock::now() - start).count();
EXPECT_LT(wait - 0.01, duration) << "Backoff timer didn't wait 1 second";
EXPECT_GT(wait + 0.2, duration) << "Backoff timer fired too late";
ASSERT_NE(nullptr, res.error);
- EXPECT_EQ(Response::Error::Reason::Connection, res.error->reason);
+ EXPECT_EQ(ResourceStatus::ConnectionError, res.error->status);
ASSERT_FALSE(res.data.get());
EXPECT_FALSE(bool(res.expires));
EXPECT_FALSE(bool(res.modified));
@@ -119,7 +119,7 @@ TEST(OnlineFileSource, TEST_REQUIRES_SERVER(Timeout)) {
int counter = 0;
- const Resource resource { Resource::Unknown, "http://127.0.0.1:3000/test?cachecontrol=max-age=1" };
+ const Resource resource { ResourceKind::Unknown, "http://127.0.0.1:3000/test?cachecontrol=max-age=1" };
std::unique_ptr<AsyncRequest> req = fs.request(resource, [&](Response res) {
counter++;
EXPECT_EQ(nullptr, res.error);
@@ -145,7 +145,7 @@ TEST(OnlineFileSource, TEST_REQUIRES_SERVER(RetryDelayOnExpiredTile)) {
int counter = 0;
- const Resource resource { Resource::Unknown, "http://127.0.0.1:3000/test?expires=10000" };
+ const Resource resource { ResourceKind::Unknown, "http://127.0.0.1:3000/test?expires=10000" };
std::unique_ptr<AsyncRequest> req = fs.request(resource, [&](Response res) {
counter++;
EXPECT_EQ(nullptr, res.error);
@@ -168,7 +168,7 @@ TEST(OnlineFileSource, TEST_REQUIRES_SERVER(RetryOnClockSkew)) {
int counter = 0;
- const Resource resource { Resource::Unknown, "http://127.0.0.1:3000/clockskew" };
+ const Resource resource { ResourceKind::Unknown, "http://127.0.0.1:3000/clockskew" };
std::unique_ptr<AsyncRequest> req1 = fs.request(resource, [&](Response res) {
switch (counter++) {
case 0: {
@@ -195,7 +195,7 @@ TEST(OnlineFileSource, TEST_REQUIRES_SERVER(RespectPriorExpires)) {
OnlineFileSource fs;
// Very long expiration time, should never arrive.
- Resource resource1{ Resource::Unknown, "http://127.0.0.1:3000/test" };
+ Resource resource1{ ResourceKind::Unknown, "http://127.0.0.1:3000/test" };
resource1.priorExpires = util::now() + Seconds(100000);
std::unique_ptr<AsyncRequest> req1 = fs.request(resource1, [&](Response) {
@@ -203,14 +203,14 @@ TEST(OnlineFileSource, TEST_REQUIRES_SERVER(RespectPriorExpires)) {
});
// No expiration time, should be requested immediately.
- Resource resource2{ Resource::Unknown, "http://127.0.0.1:3000/test" };
+ Resource resource2{ ResourceKind::Unknown, "http://127.0.0.1:3000/test" };
std::unique_ptr<AsyncRequest> req2 = fs.request(resource2, [&](Response) {
loop.stop();
});
// Very long expiration time, should never arrive.
- Resource resource3{ Resource::Unknown, "http://127.0.0.1:3000/test" };
+ Resource resource3{ ResourceKind::Unknown, "http://127.0.0.1:3000/test" };
resource3.priorExpires = util::now() + Seconds(100000);
std::unique_ptr<AsyncRequest> req3 = fs.request(resource3, [&](Response) {
@@ -232,7 +232,7 @@ TEST(OnlineFileSource, TEST_REQUIRES_SERVER(Load)) {
std::function<void(int)> req = [&](int i) {
const auto current = number++;
- reqs[i] = fs.request({ Resource::Unknown,
+ reqs[i] = fs.request({ ResourceKind::Unknown,
std::string("http://127.0.0.1:3000/load/") + std::to_string(current) },
[&, i, current](Response res) {
reqs[i].reset();
@@ -268,7 +268,7 @@ TEST(OnlineFileSource, TEST_REQUIRES_SERVER(NetworkStatusChange)) {
util::RunLoop loop;
OnlineFileSource fs;
- const Resource resource { Resource::Unknown, "http://127.0.0.1:3000/delayed" };
+ const Resource resource { ResourceKind::Unknown, "http://127.0.0.1:3000/delayed" };
// This request takes 200 milliseconds to answer.
std::unique_ptr<AsyncRequest> req = fs.request(resource, [&](Response res) {
@@ -299,7 +299,7 @@ TEST(OnlineFileSource, TEST_REQUIRES_SERVER(NetworkStatusChangePreempt)) {
const auto start = Clock::now();
- const Resource resource{ Resource::Unknown, "http://127.0.0.1:3001/test" };
+ const Resource resource{ ResourceKind::Unknown, "http://127.0.0.1:3001/test" };
std::unique_ptr<AsyncRequest> req = fs.request(resource, [&](Response res) {
static int counter = 0;
const auto duration = std::chrono::duration<const double>(Clock::now() - start).count();
@@ -312,7 +312,7 @@ TEST(OnlineFileSource, TEST_REQUIRES_SERVER(NetworkStatusChangePreempt)) {
FAIL() << "Retried too often";
}
ASSERT_NE(nullptr, res.error);
- EXPECT_EQ(Response::Error::Reason::Connection, res.error->reason);
+ EXPECT_EQ(ResourceStatus::ConnectionError, res.error->status);
ASSERT_FALSE(res.data.get());
EXPECT_FALSE(bool(res.expires));
EXPECT_FALSE(bool(res.modified));
@@ -337,7 +337,7 @@ TEST(OnlineFileSource, TEST_REQUIRES_SERVER(NetworkStatusOnlineOffline)) {
util::RunLoop loop;
OnlineFileSource fs;
- const Resource resource { Resource::Unknown, "http://127.0.0.1:3000/test" };
+ const Resource resource { ResourceKind::Unknown, "http://127.0.0.1:3000/test" };
EXPECT_EQ(NetworkStatus::Get(), NetworkStatus::Status::Online) << "Default status should be Online";
NetworkStatus::Set(NetworkStatus::Status::Offline);
@@ -365,9 +365,9 @@ TEST(OnlineFileSource, TEST_REQUIRES_SERVER(RateLimitStandard)) {
util::RunLoop loop;
OnlineFileSource fs;
- auto req = fs.request({ Resource::Unknown, "http://127.0.0.1:3000/rate-limit?std=true" }, [&](Response res) {
+ auto req = fs.request({ ResourceKind::Unknown, "http://127.0.0.1:3000/rate-limit?std=true" }, [&](Response res) {
ASSERT_NE(nullptr, res.error);
- EXPECT_EQ(Response::Error::Reason::RateLimit, res.error->reason);
+ EXPECT_EQ(ResourceStatus::RateLimitError, res.error->status);
ASSERT_EQ(true, bool(res.error->retryAfter));
ASSERT_LT(util::now(), res.error->retryAfter);
loop.stop();
@@ -380,9 +380,9 @@ TEST(OnlineFileSource, TEST_REQUIRES_SERVER(RateLimitMBX)) {
util::RunLoop loop;
OnlineFileSource fs;
- auto req = fs.request({ Resource::Unknown, "http://127.0.0.1:3000/rate-limit?mbx=true" }, [&](Response res) {
+ auto req = fs.request({ ResourceKind::Unknown, "http://127.0.0.1:3000/rate-limit?mbx=true" }, [&](Response res) {
ASSERT_NE(nullptr, res.error);
- EXPECT_EQ(Response::Error::Reason::RateLimit, res.error->reason);
+ EXPECT_EQ(ResourceStatus::RateLimitError, res.error->status);
ASSERT_EQ(true, bool(res.error->retryAfter));
ASSERT_LT(util::now(), res.error->retryAfter);
loop.stop();
@@ -395,9 +395,9 @@ TEST(OnlineFileSource, TEST_REQUIRES_SERVER(RateLimitDefault)) {
util::RunLoop loop;
OnlineFileSource fs;
- auto req = fs.request({ Resource::Unknown, "http://127.0.0.1:3000/rate-limit" }, [&](Response res) {
+ auto req = fs.request({ ResourceKind::Unknown, "http://127.0.0.1:3000/rate-limit" }, [&](Response res) {
ASSERT_NE(nullptr, res.error);
- EXPECT_EQ(Response::Error::Reason::RateLimit, res.error->reason);
+ EXPECT_EQ(ResourceStatus::RateLimitError, res.error->status);
ASSERT_FALSE(res.error->retryAfter);
loop.stop();
});
diff --git a/test/storage/resource.test.cpp b/test/storage/resource.test.cpp
index 5a27aa98a5..e47aa2dc09 100644
--- a/test/storage/resource.test.cpp
+++ b/test/storage/resource.test.cpp
@@ -5,14 +5,14 @@
TEST(Resource, Style) {
using namespace mbgl;
Resource resource = Resource::style("http://example.com");
- EXPECT_EQ(Resource::Kind::Style, resource.kind);
+ EXPECT_EQ(ResourceKind::Style, resource.kind);
EXPECT_EQ("http://example.com", resource.url);
}
TEST(Resource, Source) {
using namespace mbgl;
Resource resource = Resource::source("http://example.com");
- EXPECT_EQ(Resource::Kind::Source, resource.kind);
+ EXPECT_EQ(ResourceKind::Source, resource.kind);
EXPECT_EQ("http://example.com", resource.url);
}
@@ -20,7 +20,7 @@ TEST(Resource, Tile) {
using namespace mbgl;
Resource rasterTile = Resource::tile("http://example.com/{z}/{x}/{y}{ratio}.png", 2.0, 1, 2, 3, Tileset::Scheme::XYZ);
- EXPECT_EQ(Resource::Kind::Tile, rasterTile.kind);
+ EXPECT_EQ(ResourceKind::Tile, rasterTile.kind);
EXPECT_EQ("http://example.com/3/1/2@2x.png", rasterTile.url);
EXPECT_EQ("http://example.com/{z}/{x}/{y}{ratio}.png", rasterTile.tileData->urlTemplate);
EXPECT_EQ(2, rasterTile.tileData->pixelRatio);
@@ -29,7 +29,7 @@ TEST(Resource, Tile) {
EXPECT_EQ(3, rasterTile.tileData->z);
Resource vectorTile = Resource::tile("http://example.com/{z}/{x}/{y}.mvt", 2.0, 1, 2, 3, Tileset::Scheme::XYZ);
- EXPECT_EQ(Resource::Kind::Tile, vectorTile.kind);
+ EXPECT_EQ(ResourceKind::Tile, vectorTile.kind);
EXPECT_EQ("http://example.com/3/1/2.mvt", vectorTile.url);
EXPECT_EQ("http://example.com/{z}/{x}/{y}.mvt", vectorTile.tileData->urlTemplate);
EXPECT_EQ(1, vectorTile.tileData->pixelRatio);
@@ -38,7 +38,7 @@ TEST(Resource, Tile) {
EXPECT_EQ(3, vectorTile.tileData->z);
Resource quadTile = Resource::tile("http://example.com/{quadkey}.png", 2.0, 0, 0, 1, Tileset::Scheme::XYZ);
- EXPECT_EQ(Resource::Kind::Tile, quadTile.kind);
+ EXPECT_EQ(ResourceKind::Tile, quadTile.kind);
EXPECT_EQ("http://example.com/0.png", quadTile.url);
EXPECT_EQ("http://example.com/{quadkey}.png", quadTile.tileData->urlTemplate);
EXPECT_EQ(1, quadTile.tileData->pixelRatio);
@@ -47,7 +47,7 @@ TEST(Resource, Tile) {
EXPECT_EQ(1, quadTile.tileData->z);
quadTile = Resource::tile("http://example.com/{quadkey}.png", 2.0, 0, 0, 2, Tileset::Scheme::XYZ);
- EXPECT_EQ(Resource::Kind::Tile, quadTile.kind);
+ EXPECT_EQ(ResourceKind::Tile, quadTile.kind);
EXPECT_EQ("http://example.com/00.png", quadTile.url);
EXPECT_EQ("http://example.com/{quadkey}.png", quadTile.tileData->urlTemplate);
EXPECT_EQ(1, quadTile.tileData->pixelRatio);
@@ -56,7 +56,7 @@ TEST(Resource, Tile) {
EXPECT_EQ(2, quadTile.tileData->z);
quadTile = Resource::tile("http://example.com/{quadkey}.png", 2.0, 1, 1, 2, Tileset::Scheme::XYZ);
- EXPECT_EQ(Resource::Kind::Tile, quadTile.kind);
+ EXPECT_EQ(ResourceKind::Tile, quadTile.kind);
EXPECT_EQ("http://example.com/03.png", quadTile.url);
EXPECT_EQ("http://example.com/{quadkey}.png", quadTile.tileData->urlTemplate);
EXPECT_EQ(1, quadTile.tileData->pixelRatio);
@@ -65,7 +65,7 @@ TEST(Resource, Tile) {
EXPECT_EQ(2, quadTile.tileData->z);
quadTile = Resource::tile("http://example.com/{quadkey}.png", 2.0, 22914, 52870, 17, Tileset::Scheme::XYZ);
- EXPECT_EQ(Resource::Kind::Tile, quadTile.kind);
+ EXPECT_EQ(ResourceKind::Tile, quadTile.kind);
EXPECT_EQ("http://example.com/02301322130000230.png", quadTile.url);
EXPECT_EQ("http://example.com/{quadkey}.png", quadTile.tileData->urlTemplate);
EXPECT_EQ(1, quadTile.tileData->pixelRatio);
@@ -76,7 +76,7 @@ TEST(Resource, Tile) {
// Test case confirmed by quadkeytools package
// https://bitbucket.org/steele/quadkeytools/src/master/test/quadkey.js?fileviewer=file-view-default#quadkey.js-57
quadTile = Resource::tile("http://example.com/{quadkey}.png", 2.0, 29, 3, 6, Tileset::Scheme::XYZ);
- EXPECT_EQ(Resource::Kind::Tile, quadTile.kind);
+ EXPECT_EQ(ResourceKind::Tile, quadTile.kind);
EXPECT_EQ("http://example.com/011123.png", quadTile.url);
EXPECT_EQ("http://example.com/{quadkey}.png", quadTile.tileData->urlTemplate);
EXPECT_EQ(1, quadTile.tileData->pixelRatio);
@@ -85,7 +85,7 @@ TEST(Resource, Tile) {
EXPECT_EQ(6, quadTile.tileData->z);
Resource wmsTile = Resource::tile("http://example.com/?bbox={bbox-epsg-3857}", 2.0, 0, 0, 1, Tileset::Scheme::XYZ);
- EXPECT_EQ(Resource::Kind::Tile, wmsTile.kind);
+ EXPECT_EQ(ResourceKind::Tile, wmsTile.kind);
EXPECT_EQ("http://example.com/?bbox=-20037508.342789245,0,0,20037508.342789245", wmsTile.url);
EXPECT_EQ("http://example.com/?bbox={bbox-epsg-3857}", wmsTile.tileData->urlTemplate);
EXPECT_EQ(1, wmsTile.tileData->pixelRatio);
@@ -94,7 +94,7 @@ TEST(Resource, Tile) {
EXPECT_EQ(1, wmsTile.tileData->z);
Resource tmsTile = Resource::tile("http://example.com/{z}/{x}/{y}{ratio}.png", 1.0, 1, 2, 3, Tileset::Scheme::TMS);
- EXPECT_EQ(Resource::Kind::Tile, tmsTile.kind);
+ EXPECT_EQ(ResourceKind::Tile, tmsTile.kind);
EXPECT_EQ("http://example.com/3/1/5.png", tmsTile.url);
EXPECT_EQ("http://example.com/{z}/{x}/{y}{ratio}.png", tmsTile.tileData->urlTemplate);
EXPECT_EQ(1, tmsTile.tileData->pixelRatio);
@@ -106,27 +106,27 @@ TEST(Resource, Tile) {
TEST(Resource, Glyphs) {
using namespace mbgl;
Resource resource = Resource::glyphs("http://example.com/{fontstack}/{range}", {{"stack"}}, {0, 255});
- EXPECT_EQ(Resource::Kind::Glyphs, resource.kind);
+ EXPECT_EQ(ResourceKind::Glyphs, resource.kind);
EXPECT_EQ("http://example.com/stack/0-255", resource.url);
}
TEST(Resource, SpriteImage) {
using namespace mbgl;
Resource resource = Resource::spriteImage("http://example.com/sprite", 2.0);
- EXPECT_EQ(Resource::Kind::SpriteImage, resource.kind);
+ EXPECT_EQ(ResourceKind::SpriteImage, resource.kind);
EXPECT_EQ("http://example.com/sprite@2x.png", resource.url);
}
TEST(Resource, Image) {
using namespace mbgl;
Resource resource = Resource::image("http://example.com/sprite.jpg");
- EXPECT_EQ(Resource::Kind::Image, resource.kind);
+ EXPECT_EQ(ResourceKind::Image, resource.kind);
EXPECT_EQ("http://example.com/sprite.jpg", resource.url);
}
TEST(Resource, SpriteJSON) {
using namespace mbgl;
Resource resource = Resource::spriteJSON("http://example.com/sprite", 2.0);
- EXPECT_EQ(Resource::Kind::SpriteJSON, resource.kind);
+ EXPECT_EQ(ResourceKind::SpriteJSON, resource.kind);
EXPECT_EQ("http://example.com/sprite@2x.json", resource.url);
}
diff --git a/test/style/source.test.cpp b/test/style/source.test.cpp
index 919260ffe9..7edaeed248 100644
--- a/test/style/source.test.cpp
+++ b/test/style/source.test.cpp
@@ -92,7 +92,7 @@ TEST(Source, LoadingFail) {
EXPECT_EQ("url", resource.url);
Response response;
response.error = std::make_unique<Response::Error>(
- Response::Error::Reason::Other,
+ ResourceStatus::OtherError,
"Failed by the test case");
return response;
};
@@ -217,7 +217,7 @@ TEST(Source, RasterTileFail) {
test.fileSource.tileResponse = [&] (const Resource&) {
Response response;
response.error = std::make_unique<Response::Error>(
- Response::Error::Reason::Other,
+ ResourceStatus::OtherError,
"Failed by the test case");
return response;
};
@@ -255,7 +255,7 @@ TEST(Source, VectorTileFail) {
test.fileSource.tileResponse = [&] (const Resource&) {
Response response;
response.error = std::make_unique<Response::Error>(
- Response::Error::Reason::Other,
+ ResourceStatus::OtherError,
"Failed by the test case");
return response;
};
diff --git a/test/text/glyph_loader.test.cpp b/test/text/glyph_loader.test.cpp
index be197ebb46..41a65778f7 100644
--- a/test/text/glyph_loader.test.cpp
+++ b/test/text/glyph_loader.test.cpp
@@ -60,7 +60,7 @@ TEST(GlyphManager, LoadingSuccess) {
GlyphManagerTest test;
test.fileSource.glyphsResponse = [&] (const Resource& resource) {
- EXPECT_EQ(Resource::Kind::Glyphs, resource.kind);
+ EXPECT_EQ(ResourceKind::Glyphs, resource.kind);
Response response;
response.data = std::make_shared<std::string>(util::read_file("test/fixtures/resources/glyphs.pbf"));
return response;
@@ -101,7 +101,7 @@ TEST(GlyphManager, LoadingFail) {
test.fileSource.glyphsResponse = [&] (const Resource&) {
Response response;
response.error = std::make_unique<Response::Error>(
- Response::Error::Reason::Other,
+ ResourceStatus::OtherError,
"Failed by the test case");
return response;
};
@@ -182,7 +182,7 @@ TEST(GlyphManager, LoadingInvalid) {
GlyphManagerTest test;
test.fileSource.glyphsResponse = [&] (const Resource& resource) {
- EXPECT_EQ(Resource::Kind::Glyphs, resource.kind);
+ EXPECT_EQ(ResourceKind::Glyphs, resource.kind);
Response response;
response.data = std::make_shared<std::string>(util::read_file("test/fixtures/resources/fake_glyphs-0-255.pbf"));
return response;
diff --git a/test/util/http_timeout.test.cpp b/test/util/http_timeout.test.cpp
index c9373d955d..099195d22b 100644
--- a/test/util/http_timeout.test.cpp
+++ b/test/util/http_timeout.test.cpp
@@ -8,36 +8,36 @@ using namespace mbgl::http;
TEST(HttpRetry, OtherError) {
// Non-retryable
- ASSERT_EQ(Duration::max(), errorRetryTimeout(Response::Error::Reason::Other, 1));
+ ASSERT_EQ(Duration::max(), errorRetryTimeout(ResourceStatus::OtherError, 1));
}
TEST(HttpRetry, NotFound) {
// Non-retryable
- ASSERT_EQ(Duration::max(), errorRetryTimeout(Response::Error::Reason::NotFound, 1));
+ ASSERT_EQ(Duration::max(), errorRetryTimeout(ResourceStatus::NotFoundError, 1));
}
TEST(HttpRetry, ServerError) {
// 1-3 failures -> 1 sec
- ASSERT_EQ(Seconds(1), errorRetryTimeout(Response::Error::Reason::Server, 1));
- ASSERT_EQ(Seconds(1), errorRetryTimeout(Response::Error::Reason::Server, 3));
+ ASSERT_EQ(Seconds(1), errorRetryTimeout(ResourceStatus::ServerError, 1));
+ ASSERT_EQ(Seconds(1), errorRetryTimeout(ResourceStatus::ServerError, 3));
// After 3, exponential backoff
- ASSERT_EQ(Seconds(2), errorRetryTimeout(Response::Error::Reason::Server, 4));
- ASSERT_EQ(Seconds(1u << 31), errorRetryTimeout(Response::Error::Reason::Server, 50));
+ ASSERT_EQ(Seconds(2), errorRetryTimeout(ResourceStatus::ServerError, 4));
+ ASSERT_EQ(Seconds(1u << 31), errorRetryTimeout(ResourceStatus::ServerError, 50));
}
TEST(HttpRetry, ConnectionError) {
// Exponential backoff
- ASSERT_EQ(Seconds(1), errorRetryTimeout(Response::Error::Reason::Server, 1));
- ASSERT_EQ(Seconds(1u << 31), errorRetryTimeout(Response::Error::Reason::Connection, 50));
+ ASSERT_EQ(Seconds(1), errorRetryTimeout(ResourceStatus::ServerError, 1));
+ ASSERT_EQ(Seconds(1u << 31), errorRetryTimeout(ResourceStatus::ConnectionError, 50));
}
TEST(HttpRetry, RateLimit) {
// Pre-set value from header
- ASSERT_EQ(Seconds(1), errorRetryTimeout(Response::Error::Reason::Server, 1, { util::now() + Seconds(1) }));
+ ASSERT_EQ(Seconds(1), errorRetryTimeout(ResourceStatus::ServerError, 1, { util::now() + Seconds(1) }));
// Default
- ASSERT_EQ(Seconds(5), errorRetryTimeout(Response::Error::Reason::RateLimit, 1, {}));
+ ASSERT_EQ(Seconds(5), errorRetryTimeout(ResourceStatus::RateLimitError, 1, {}));
}
TEST(HttpRetry, ExpiredInitial) {