28 #ifndef CPL_AZURE_INCLUDED_H
29 #define CPL_AZURE_INCLUDED_H
35 #include <curl/curl.h>
40 class VSIAzureBlobHandleHelper final:
public IVSIS3LikeHandleHelper
50 bool m_bFromManagedIdentities;
58 static bool GetConfiguration(
const std::string& osPathForOption,
67 bool& bFromManagedIdentities);
74 void RebuildURL()
override;
77 VSIAzureBlobHandleHelper(
const CPLString& osEndpoint,
84 bool bFromManagedIdentities);
85 ~VSIAzureBlobHandleHelper();
87 static VSIAzureBlobHandleHelper* BuildFromURI(
const char* pszURI,
88 const char* pszFSPrefix,
91 struct curl_slist* GetCurlHeaders(
const CPLString& osVerbosVerb,
92 const struct curl_slist* psExistingHeaders,
93 const void *pabyDataContent =
nullptr,
94 size_t nBytesContent = 0)
const override;
96 const CPLString& GetURL()
const override {
return m_osURL; }
100 static void ClearCache();
102 std::string GetSASQueryString()
const;
107 int GetAzureBufferSize();