31 #ifndef CPL_AWS_INCLUDED_H 32 #define CPL_AWS_INCLUDED_H 53 CPLString CPLGetLowerCaseHexSHA256(
const void *pabyData,
size_t nBytes );
62 #include <curl/curl.h> 65 class VSIS3HandleHelper
77 bool m_bUseVirtualHosting;
78 std::map<CPLString, CPLString> m_oMapQueryParameters;
80 static bool GetBucketAndObjectKey(
const char* pszURI,
const char* pszFSPrefix,
88 VSIS3HandleHelper(
const CPLString& osSecretAccessKey,
96 bool bUseHTTPS,
bool bUseVirtualHosting);
99 static VSIS3HandleHelper* BuildFromURI(
const char* pszURI,
const char* pszFSPrefix,
100 bool bAllowNoObject);
104 bool bUseHTTPS,
bool bUseVirtualHosting);
106 void ResetQueryParameters();
108 struct curl_slist* GetCurlHeaders(
const CPLString& osVerb,
109 const void *pabyDataContent = NULL,
110 size_t nBytesContent = 0);
111 bool CanRestartOnError(
const char* pszErrorMsg) {
return CanRestartOnError(pszErrorMsg,
false); }
112 bool CanRestartOnError(
const char*,
bool bSetError);
114 const CPLString& GetURL()
const {
return m_osURL; }
115 const CPLString& GetBucket()
const {
return m_osBucket; }
116 const CPLString& GetObjectKey()
const {
return m_osObjectKey; }
117 const CPLString& GetAWSS3Endpoint()
const {
return m_osAWSS3Endpoint; }
118 const CPLString& GetAWSRegion()
const {
return m_osAWSRegion; }
119 const CPLString& GetRequestPayer()
const {
return m_osRequestPayer; }
120 bool GetVirtualHosting()
const {
return m_bUseVirtualHosting; }
121 void SetAWSS3Endpoint(
const CPLString &osStr);
122 void SetAWSRegion(
const CPLString &osStr);
123 void SetRequestPayer(
const CPLString &osStr);
124 void SetVirtualHosting(
bool b);
125 void SetObjectKey(
const CPLString &osStr);
128 class VSIS3UpdateParams
134 bool m_bUseVirtualHosting;
136 VSIS3UpdateParams(
const CPLString& osAWSRegion =
"",
139 bool bUseVirtualHosting =
false) :
140 m_osAWSRegion(osAWSRegion),
141 m_osAWSS3Endpoint(osAWSS3Endpoint),
142 m_osRequestPayer(osRequestPayer),
143 m_bUseVirtualHosting(bUseVirtualHosting) {}
Convenient string class based on std::string.
Definition: cpl_string.h:338