diff options
Diffstat (limited to 'platform/default/http_request_curl.cpp')
-rw-r--r-- | platform/default/http_request_curl.cpp | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/platform/default/http_request_curl.cpp b/platform/default/http_request_curl.cpp index f7fb27afc5..58c574fee1 100644 --- a/platform/default/http_request_curl.cpp +++ b/platform/default/http_request_curl.cpp @@ -509,19 +509,16 @@ void HTTPCURLRequest::handleResult(CURLcode code) { long responseCode = 0; curl_easy_getinfo(handle, CURLINFO_RESPONSE_CODE, &responseCode); - // Move over any data we got. We're storing this in a separate object because the Response - // object defines it as const. - if (data) { - response->data = std::move(data); - } else { - response->data = std::make_shared<std::string>(); - } - if (responseCode == 200) { - // Nothing to do; this is what we want. + if (data) { + response->data = std::move(data); + } else { + response->data = std::make_shared<std::string>(); + } + } else if (responseCode == 204 || (responseCode == 404 && resource.kind == Resource::Kind::Tile)) { + response->noContent = true; } else if (responseCode == 304) { response->notModified = true; - response->data.reset(); } else if (responseCode == 404) { response->error = std::make_unique<Error>(Error::Reason::NotFound, "HTTP status code 404"); @@ -545,4 +542,8 @@ std::unique_ptr<HTTPContextBase> HTTPContextBase::createContext() { return std::make_unique<HTTPCURLContext>(); } +uint32_t HTTPContextBase::maximumConcurrentRequests() { + return 20; +} + } // namespace mbgl |