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