28 #ifndef CPL_AZURE_INCLUDED_H
29 #define CPL_AZURE_INCLUDED_H
35 #include <curl/curl.h>
40 class VSIAzureBlobHandleHelper final:
public IVSIS3LikeHandleHelper
43 CPLString m_osEndpoint;
45 CPLString m_osObjectKey;
46 CPLString m_osStorageAccount;
47 CPLString m_osStorageKey;
52 CPLString& osEndpoint,
53 CPLString& osStorageAccount,
54 CPLString& osStorageKey);
56 static CPLString BuildURL(
const CPLString& osEndpoint,
57 const CPLString& osStorageAccount,
58 const CPLString& osBucket,
59 const CPLString& osObjectKey,
62 void RebuildURL()
override;
65 VSIAzureBlobHandleHelper(
const CPLString& osEndpoint,
66 const CPLString& osBucket,
67 const CPLString& osObjectKey,
68 const CPLString& osStorageAccount,
69 const CPLString& osStorageKey,
71 ~VSIAzureBlobHandleHelper();
73 static VSIAzureBlobHandleHelper* BuildFromURI(
const char* pszURI,
74 const char* pszFSPrefix,
77 struct curl_slist* GetCurlHeaders(
const CPLString& osVerbosVerb,
78 const struct curl_slist* psExistingHeaders,
79 const void *pabyDataContent =
nullptr,
80 size_t nBytesContent = 0)
const override;
82 const CPLString& GetURL()
const override {
return m_osURL; }
char ** CSLConstList
Definition: cpl_port.h:1184