Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions API.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ Return: Promise - will resolve arguments:
* `secret_key` String - the AWS secret access key
* `session_token` String - (optional)
* `remember_last_instance` Boolean - keep the last transferUtility instance when JS reload (default: true) __(iOS)__
* `accelerate_mode_enabled` Boolean - Use the S3 acceleration transfer endpoint for the bucket (default: false)

Return: Promise - will resolve arguments:
* Boolean - `true` or `false` depending on the setup successful.
Expand All @@ -31,6 +32,7 @@ Return: Promise - will resolve arguments:
* `cognito_region` String - a Cognito Region (default: eu-west-1)
* `caching` Boolean - use `CognitoCachingCredentialsProvider` instead of `CognitoCredentialsProvider` __(Android)__
* `remember_last_instance` Boolean - keep the last transferUtility instance when JS reload (default: true) __(iOS)__
* `accelerate_mode_enabled` Boolean - Use the S3 acceleration transfer endpoint for the bucket (default: false)

See AWS CognitoCredentialsProvider ([iOS](http://docs.aws.amazon.com/AWSiOSSDK/latest/Classes/AWSCognitoCredentialsProvider.html)/[Android](http://docs.aws.amazon.com/AWSAndroidSDK/latest/javadoc/com/amazonaws/auth/CognitoCredentialsProvider.html)) for more information.

Expand Down
14 changes: 14 additions & 0 deletions android/src/main/java/com/mybigday/rns3/RNS3TransferUtility.java
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,12 @@ private boolean setup(Map<String, Object> credentialsOptions) {
} else if (credentialsProvider != null) {
s3 = new AmazonS3Client(credentialsProvider);
}

if (credentialsOptions.containsKey("accelerate_mode_enabled") &&
(Boolean) credentialsOptions.get("accelerate_mode_enabled")) {
s3.setS3ClientOptions(S3ClientOptions.builder().setAccelerateModeEnabled(true).build());
}

s3.setRegion(region);
transferUtility = new TransferUtility(s3, context);
return true;
Expand Down Expand Up @@ -209,6 +215,10 @@ public void setupWithBasic(ReadableMap options, Promise promise) {
if (sessionToken != null) {
credentialsOptions.put("session_token", sessionToken);
}
credentialsOptions.put(
"accelerate_mode_enabled",
options.hasKey("accelerate_mode_enabled") && options.getBoolean("accelerate_mode_enabled")
);
credentialsOptions.put("region", options.getString("region"));
promise.resolve(setup(credentialsOptions));
}
Expand All @@ -221,6 +231,10 @@ public void setupWithCognito(ReadableMap options, Promise promise) {
credentialsOptions.put("region", options.getString("region"));
credentialsOptions.put("cognito_region", options.getString("cognito_region"));
credentialsOptions.put("caching", options.getBoolean("caching"));
credentialsOptions.put(
"accelerate_mode_enabled",
options.hasKey("accelerate_mode_enabled") && options.getBoolean("accelerate_mode_enabled")
);
promise.resolve(setup(credentialsOptions));
}

Expand Down
3 changes: 3 additions & 0 deletions ios/RNS3/RNS3TransferUtility.m
Original file line number Diff line number Diff line change
Expand Up @@ -134,8 +134,11 @@ - (BOOL)setup:(NSDictionary *)options {
AWSRegionType region = [self regionTypeFromString:options[@"region"]];
AWSServiceConfiguration *configuration = [[AWSServiceConfiguration alloc] initWithRegion:region
credentialsProvider:credentialsProvider];
AWSS3TransferUtilityConfiguration *transferUtilityConfiguration = [[AWSS3TransferUtilityConfiguration alloc] init];
transferUtilityConfiguration.accelerateModeEnabled = [options[@"accelerate_mode_enabled"] boolValue] == YES;

[AWSS3TransferUtility registerS3TransferUtilityWithConfiguration:configuration
transferUtilityConfiguration:transferUtilityConfiguration
forKey:instanceKey];
return YES;
}
Expand Down