retrieve method

  1. @override
AWSCredentials retrieve()
override

Retrieves AWS credentials.

Implementation

@override
AWSCredentials retrieve() {
  var accessKeyId = const String.fromEnvironment(zAccessKeyId);
  if (zIsWeb && zAssertsEnabled && accessKeyId.isEmpty) {
    // Fallback for testing on Web
    accessKeyId = lookupPlatformEnv(zAccessKeyId) ?? '';
  }
  var secretAccessKey = const String.fromEnvironment(zSecretAccessKey);
  if (zIsWeb && zAssertsEnabled && secretAccessKey.isEmpty) {
    // Fallback for testing on Web
    secretAccessKey = lookupPlatformEnv(zSecretAccessKey) ?? '';
  }
  var sessionToken = const String.fromEnvironment(zSessionToken);
  if (zIsWeb && zAssertsEnabled && sessionToken.isEmpty) {
    // Fallback for testing on Web
    sessionToken = lookupPlatformEnv(zSessionToken) ?? '';
  }

  if (accessKeyId.isEmpty || secretAccessKey.isEmpty) {
    throw const InvalidCredentialsException.couldNotLoad();
  }

  return AWSCredentials(
    accessKeyId,
    secretAccessKey,
    sessionToken.isEmpty ? null : sessionToken,
  );
}