71 string accessKeyId, secretAccessKey, sessionToken, expiration;
73 BESDEBUG(MODULE, prolog <<
"distribution_api_endpoint: " << distribution_api_endpoint << endl);
75 rapidjson::Document d = curl::http_get_as_json(distribution_api_endpoint);
76 BESDEBUG(MODULE, prolog <<
"S3 Credentials:" << endl);
78 rapidjson::Value &val = d[AWS_ACCESS_KEY_ID_KEY];
79 accessKeyId = val.GetString();
80 add(ID_KEY, accessKeyId);
81 BESDEBUG(MODULE, prolog << AWS_ACCESS_KEY_ID_KEY <<
": " << accessKeyId << endl);
83 val = d[AWS_SECRET_ACCESS_KEY_KEY];
84 secretAccessKey = val.GetString();
85 add(KEY_KEY, secretAccessKey);
86 BESDEBUG(MODULE, prolog << AWS_SECRET_ACCESS_KEY_KEY <<
": " << secretAccessKey << endl);
88 val = d[AWS_SESSION_TOKEN_KEY];
89 sessionToken = val.GetString();
90 add(AWS_SESSION_TOKEN, sessionToken);
91 BESDEBUG(MODULE, prolog << AWS_SESSION_TOKEN_KEY <<
": " << sessionToken << endl);
93 val = d[AWS_EXPIRATION_KEY];
94 expiration = val.GetString();
95 add(AWS_TOKEN_EXPIRATION, expiration);
96 BESDEBUG(MODULE, prolog << AWS_EXPIRATION_KEY <<
": " << expiration << endl);
101 strptime(expiration.c_str(),
"%Y-%m-%d %H:%M:%S%z", &tm);
102 d_expiration_time = mktime(&tm);
103 BESDEBUG(MODULE, prolog <<
"expiration(time_t): " << d_expiration_time << endl);