13 #ifndef ROOT_TS3WebFile
14 #define ROOT_TS3WebFile
68 class TS3WebFile:
public TWebFile {
72 Bool_t ParseOptions(Option_t* options, TString& accessKey, TString& secretKey, TString& token);
73 Bool_t GetCredentialsFromEnv(
const char* accessKeyEnv,
const char* secretKeyEnv,
const char* tokenEnv,
74 TString& outAccessKey, TString& outSecretKey, TString& outToken);
78 virtual Int_t GetHead();
79 virtual void SetMsgReadBuffer10(
const char* redirectLocation = 0, Bool_t tempRedirect = kFALSE);
80 virtual void ProcessHttpHeader(
const TString& headerLine);
83 void SetAccessKey(
const TString& accessKey) { fS3Request.SetAccessKey(accessKey); }
84 void SetSecretKey(
const TString& secretKey) { fS3Request.SetSecretKey(secretKey); }
87 TS3HTTPRequest fS3Request;
88 Bool_t fUseMultiRange;
92 TS3WebFile(
const char* url, Option_t* options=
"");
93 virtual ~TS3WebFile() {}
96 const TString& GetAccessKey()
const {
return fS3Request.GetAccessKey(); }
97 const TString& GetSecretKey()
const {
return fS3Request.GetSecretKey(); }
98 const TString& GetBucket()
const {
return fS3Request.GetBucket(); }
99 const TString& GetObjectKey()
const {
return fS3Request.GetObjectKey(); }
100 const TUrl& GetUrl()
const {
return fUrl; }
103 virtual Bool_t ReadBuffers(
char* buf, Long64_t* pos, Int_t* len, Int_t nbuf);
105 ClassDef(TS3WebFile, 0)
108 #endif // ROOT_TS3WebFile