Trying another timeout method for GDAL GetCapabilities requests

This commit is contained in:
Alexander Bock
2018-11-01 11:16:34 -04:00
parent 9d56ae092b
commit b214f1ba75
2 changed files with 5 additions and 0 deletions

View File

@@ -521,6 +521,7 @@ void GlobeBrowsingModule::loadWMSCapabilities(std::string name, std::string glob
std::string url)
{
auto downloadFunction = [](const std::string& downloadUrl) {
LDEBUG("Opening WMS capabilities: " + downloadUrl);
GDALDatasetH dataset = GDALOpen(
downloadUrl.c_str(),
GA_ReadOnly
@@ -530,6 +531,7 @@ void GlobeBrowsingModule::loadWMSCapabilities(std::string name, std::string glob
const int nSubdatasets = CSLCount(subDatasets);
Capabilities cap = parseSubDatasets(subDatasets, nSubdatasets);
GDALClose(dataset);
LDEBUG("Finished WMS capabilities: " + downloadUrl);
return cap;
};
@@ -539,6 +541,8 @@ void GlobeBrowsingModule::loadWMSCapabilities(std::string name, std::string glob
url
);
//_capabilitiesMap[name] = downloadFunction(url);
_urlList.emplace(std::move(globe), UrlInfo{ std::move(name), std::move(url) });
}

View File

@@ -116,6 +116,7 @@ GdalWrapper::GdalWrapper(size_t maximumCacheSize, size_t maximumMaximumCacheSize
CPLSetConfigOption("GDAL_HTTP_UNSAFESSL", "YES");
CPLSetConfigOption("GDAL_HTTP_TIMEOUT", "3"); // 3 seconds
CPLSetConfigOption("CURLOPT_TIMEOUT", "3"); // 3 seconds
setGdalProxyConfiguration();
CPLSetErrorHandler(gdalErrorHandler);