in src/providers/uri.ts [33:59]
private async getCredentialsUri(): Promise<Session> {
const builder = Request.builder()
.withMethod('GET')
.withURL(this.credentialsURI)
.withReadTimeout(this.readTimeout || 10000)
.withConnectTimeout(this.connectTimeout || 5000);
const request = builder.build();
const response = await this.doRequest(request);
if (response.statusCode !== 200) {
throw new Error(`get sts token failed, httpStatus: ${response.statusCode}, message = ${response.body.toString('utf8')}.`);
}
let data;
try {
data = JSON.parse(response.body.toString('utf8'));
} catch (ex) {
throw new Error(`get sts token failed, json parse failed: ${ex.message}, result: ${response.body.toString('utf8')}.`)
}
if (!data || !data.AccessKeyId || !data.AccessKeySecret || !data.SecurityToken) {
throw new Error(`error retrieving credentials from credentialsURI result: ${JSON.stringify(data)}.`)
}
return new Session(data.AccessKeyId, data.AccessKeySecret, data.SecurityToken, data.Expiration);
}