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) {}
const char * CPLGetXMLValue(CPLXMLNode *poRoot, const char *pszPath, const char *pszDefault)
Fetch element/attribute value.
Definition: cpl_minixml.cpp:1645
unsigned char GByte
Definition: cpl_port.h:207
Convenient string class based on std::string.
Definition: cpl_string.h:338
CPLXMLNode * CPLParseXMLString(const char *)
Parse an XML string into tree form.
Definition: cpl_minixml.cpp:614
Definition: cpl_minixml.h:66
#define EQUAL(a, b)
Definition: cpl_port.h:622
bool CPLTestBool(const char *pszValue)
Definition: cpl_string.cpp:1522
void CPLDestroyXMLNode(CPLXMLNode *)
Destroy a tree.
Definition: cpl_minixml.cpp:1412
void CPLDebug(const char *, const char *,...)
Definition: cpl_error.cpp:492
#define STARTS_WITH(a, b)
Definition: cpl_port.h:631
const char * CPLSPrintf(const char *fmt,...)
Definition: cpl_string.cpp:975
void CPLError(CPLErr eErrClass, CPLErrorNum err_no, const char *fmt,...)
Definition: cpl_error.cpp:215
const char * CPLGetConfigOption(const char *, const char *)
Definition: cpl_conv.cpp:1625
#define CPLE_AppDefined
Definition: cpl_error.h:100
Generated for GDAL by
1.8.17.