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;
51 bool m_bIncludeMSVersion =
true;
59 static bool GetConfiguration(
const std::string &osPathForOption,
65 bool &bFromManagedIdentities);
72 void RebuildURL()
override;
75 VSIAzureBlobHandleHelper(
79 const CPLString &osAccessToken,
bool bFromManagedIdentities);
80 ~VSIAzureBlobHandleHelper();
82 static VSIAzureBlobHandleHelper *
83 BuildFromURI(
const char *pszURI,
const char *pszFSPrefix,
86 void SetIncludeMSVersion(
bool bInclude)
88 m_bIncludeMSVersion = bInclude;
92 GetCurlHeaders(
const CPLString &osVerbosVerb,
93 const struct curl_slist *psExistingHeaders,
94 const void *pabyDataContent =
nullptr,
95 size_t nBytesContent = 0)
const override;
104 static void ClearCache();
106 std::string GetSASQueryString()
const;
111 int GetAzureBufferSize();