31 #ifndef CPL_AWS_INCLUDED_H
32 #define CPL_AWS_INCLUDED_H
48 CPLString CPLGetLowerCaseHexSHA256(
const void *pabyData,
size_t nBytes );
57 #include <curl/curl.h>
71 bool m_bUseVirtualHosting;
72 std::map<CPLString, CPLString> m_oMapQueryParameters;
74 static bool GetBucketAndObjectKey(
const char* pszURI,
const char* pszFSPrefix,
89 bool bUseHTTPS,
bool bUseVirtualHosting);
92 static VSIS3HandleHelper* BuildFromURI(
const char* pszURI,
const char* pszFSPrefix,
97 bool bUseHTTPS,
bool bUseVirtualHosting);
99 void ResetQueryParameters();
101 struct curl_slist* GetCurlHeaders(
const CPLString& osVerb,
102 const void *pabyDataContent = NULL,
103 size_t nBytesContent = 0);
104 bool CanRestartOnError(
const char* pszErrorMsg) {
return CanRestartOnError(pszErrorMsg,
false); }
105 bool CanRestartOnError(
const char*,
bool bSetError);
107 const CPLString& GetURL()
const {
return m_osURL; }
108 const CPLString& GetBucket()
const {
return m_osBucket; }
109 const CPLString& GetObjectKey()
const {
return m_osObjectKey; }
110 const CPLString& GetAWSS3Endpoint()
const {
return m_osAWSS3Endpoint; }
111 const CPLString& GetAWSRegion()
const {
return m_osAWSRegion; }
112 bool GetVirtualHosting()
const {
return m_bUseVirtualHosting; }
113 void SetAWSS3Endpoint(
const CPLString &osStr);
114 void SetAWSRegion(
const CPLString &osStr);
115 void SetVirtualHosting(
bool b);
116 void SetObjectKey(
const CPLString &osStr);
124 bool m_bUseVirtualHosting;
128 bool bUseVirtualHosting =
false) :
129 m_osAWSRegion(osAWSRegion),
130 m_osAWSS3Endpoint(osAWSS3Endpoint),
131 m_bUseVirtualHosting(bUseVirtualHosting) {}
Convenient string class based on std::string.
Definition: cpl_string.h:283
Various convenience functions for working with strings and string lists.
Definition: cpl_aws.h:119