38 #if defined(MAC_OS_X_VERSION_10_7) 39 #include <CommonCrypto/CommonHMAC.h> 40 #define SHA_DIGEST_LENGTH 20 42 #include <openssl/sha.h> 43 #include <openssl/hmac.h> 44 #include <openssl/evp.h> 45 #include <openssl/bio.h> 46 #include <openssl/buffer.h> 58 : fAuthType(kNoAuth), fHost(
"NoHost")
117 toSign +=
"x-goog-api-version:1\n";
128 unsigned char digest[SHA_DIGEST_LENGTH] = {0};
129 #if defined(MAC_OS_X_VERSION_10_7) 132 unsigned int *sd = NULL;
160 time_t now = time(NULL);
163 struct tm dateFormat;
164 strftime(result,
sizeof(result),
"%a, %d %b %Y %H:%M:%S GMT",
165 gmtime_r(&now, &dateFormat));
167 strftime(result,
sizeof(result),
"%a, %d %b %Y %H:%M:%S GMT",
196 return "Host: " +
fHost;
231 default:
return "AWS";
263 if (!tokenHeader.
IsNull())
264 request += tokenHeader +
"\r\n";
267 request += authHeader +
"\r\n";
TS3HTTPRequest & SetTimeStamp()
Sets this request's time stamp according to: http://code.google.com/apis/storage/docs/reference-heade...
TString MakeTokenHeader() const
Returns the session security token header for this HTTP request.
TString HTTPVerbToTString(EHTTPVerb httpVerb) const
TString MakeAuthPrefix() const
Returns the authentication prefix.
static TString Encode(const char *data)
Transform data into a null terminated base64 string.
static TString Format(const char *fmt,...)
Static method which formats a string using a printf style format descriptor and return a TString...
TString ComputeSignature(TS3HTTPRequest::EHTTPVerb httpVerb) const
Returns this request's signature.
TString GetRequest(TS3HTTPRequest::EHTTPVerb httpVerb, Bool_t appendCRLF=kTRUE)
Returns the HTTP request ready to be sent to the server.
TString MakeDateHeader() const
Returns the date header for this HTTP request.
Mother of all ROOT objects.
TString MakeRequestLine(TS3HTTPRequest::EHTTPVerb httpVerb) const
Returns the first line of a HTTP request for this object.
TString MakeAuthHeader(TS3HTTPRequest::EHTTPVerb httpVerb) const
Returns the authentication header for this HTTP request.
TString MakeHostHeader() const
Returns the 'Host' header to include in the HTTP request.
const char * Data() const