parent
ea08f39f6e
commit
1bd66297e2
2
pom.xml
2
pom.xml
|
@ -66,7 +66,7 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.amazonaws</groupId>
|
<groupId>com.amazonaws</groupId>
|
||||||
<artifactId>aws-java-sdk-s3</artifactId>
|
<artifactId>aws-java-sdk-s3</artifactId>
|
||||||
<version>1.10.6</version>
|
<version>1.11.115</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.google.protobuf</groupId>
|
<groupId>com.google.protobuf</groupId>
|
||||||
|
|
|
@ -21,6 +21,7 @@ import com.amazonaws.auth.AWSCredentials;
|
||||||
import com.amazonaws.auth.BasicAWSCredentials;
|
import com.amazonaws.auth.BasicAWSCredentials;
|
||||||
import com.amazonaws.services.s3.AmazonS3;
|
import com.amazonaws.services.s3.AmazonS3;
|
||||||
import com.amazonaws.services.s3.AmazonS3Client;
|
import com.amazonaws.services.s3.AmazonS3Client;
|
||||||
|
import com.amazonaws.services.s3.S3ClientOptions;
|
||||||
import com.amazonaws.services.s3.model.GeneratePresignedUrlRequest;
|
import com.amazonaws.services.s3.model.GeneratePresignedUrlRequest;
|
||||||
import org.whispersystems.textsecuregcm.configuration.S3Configuration;
|
import org.whispersystems.textsecuregcm.configuration.S3Configuration;
|
||||||
|
|
||||||
|
@ -46,6 +47,8 @@ public class UrlSigner {
|
||||||
request.setExpiration(new Date(System.currentTimeMillis() + DURATION));
|
request.setExpiration(new Date(System.currentTimeMillis() + DURATION));
|
||||||
request.setContentType("application/octet-stream");
|
request.setContentType("application/octet-stream");
|
||||||
|
|
||||||
|
client.setS3ClientOptions(S3ClientOptions.builder().setAccelerateModeEnabled(true).build());
|
||||||
|
|
||||||
return client.generatePresignedUrl(request);
|
return client.generatePresignedUrl(request);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,30 @@
|
||||||
|
package org.whispersystems.textsecuregcm.tests.util;
|
||||||
|
|
||||||
|
import com.amazonaws.HttpMethod;
|
||||||
|
import org.junit.Test;
|
||||||
|
import org.whispersystems.textsecuregcm.configuration.S3Configuration;
|
||||||
|
import org.whispersystems.textsecuregcm.util.UrlSigner;
|
||||||
|
|
||||||
|
import java.net.URL;
|
||||||
|
|
||||||
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
|
import static org.mockito.Mockito.mock;
|
||||||
|
import static org.mockito.Mockito.when;
|
||||||
|
|
||||||
|
public class UrlSignerTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testTransferAcceleration() {
|
||||||
|
S3Configuration configuration = mock(S3Configuration.class);
|
||||||
|
when(configuration.getAccessKey()).thenReturn("foo");
|
||||||
|
when(configuration.getAccessSecret()).thenReturn("bar");
|
||||||
|
when(configuration.getAttachmentsBucket()).thenReturn("attachments-test");
|
||||||
|
|
||||||
|
UrlSigner signer = new UrlSigner(configuration);
|
||||||
|
URL url = signer.getPreSignedUrl(1234, HttpMethod.GET);
|
||||||
|
|
||||||
|
System.out.println("The URL: " + url);
|
||||||
|
assertThat(url).hasHost("attachments-test.s3-accelerate.amazonaws.com");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue