MCPcopy Create free account
hub / github.com/OSGeo/gdal / CPLHTTPGetOptionsFromEnv

Function CPLHTTPGetOptionsFromEnv

port/cpl_http.cpp:543–585  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

541};
542
543char **CPLHTTPGetOptionsFromEnv(const char *pszFilename)
544{
545 CPLStringList aosOptions;
546 std::string osNonStreamingFilename;
547 if (pszFilename && STARTS_WITH(pszFilename, "/vsi"))
548 {
549 VSIFilesystemHandler *poFSHandler =
550 VSIFileManager::GetHandler(pszFilename);
551 osNonStreamingFilename =
552 poFSHandler->GetNonStreamingFilename(pszFilename);
553 if (osNonStreamingFilename == pszFilename)
554 {
555 osNonStreamingFilename.clear();
556 }
557 else
558 {
559 // CPLDebug("HTTP", "Non-streaming filename for %s: %s", pszFilename, osNonStreamingFilename.c_str());
560 }
561 }
562 for (const auto &sTuple : asAssocEnvVarOptionName)
563 {
564 const char *pszVal = nullptr;
565 if (pszFilename)
566 {
567 pszVal = VSIGetPathSpecificOption(pszFilename, sTuple.pszEnvVar,
568 nullptr);
569 if (!pszVal && !osNonStreamingFilename.empty())
570 {
571 pszVal = VSIGetPathSpecificOption(
572 osNonStreamingFilename.c_str(), sTuple.pszEnvVar, nullptr);
573 }
574 }
575 if (!pszVal)
576 {
577 pszVal = CPLGetConfigOption(sTuple.pszEnvVar, nullptr);
578 }
579 if (pszVal)
580 {
581 aosOptions.AddNameValue(sTuple.pszOptionName, pszVal);
582 }
583 }
584 return aosOptions.StealList();
585}
586
587/************************************************************************/
588/* CPLHTTPGetNewRetryDelay() */

Callers 15

IssueListDirMethod · 0.85
StatMethod · 0.85
GetFileMetadataMethod · 0.85
SetFileMetadataMethod · 0.85
RenameMethod · 0.85
MkdirInternalMethod · 0.85
RmdirInternalMethod · 0.85
CopyObjectMethod · 0.85
UploadFileMethod · 0.85
GetFileMetadataMethod · 0.85
SetFileMetadataMethod · 0.85

Calls 6

VSIGetPathSpecificOptionFunction · 0.85
StealListMethod · 0.80
clearMethod · 0.45
emptyMethod · 0.45
c_strMethod · 0.45

Tested by

no test coverage detected