diff --git a/.changes/next-release/feature-AWSSDKforJavav2-890d71f.json b/.changes/next-release/feature-AWSSDKforJavav2-890d71f.json
new file mode 100644
index 000000000000..225b3eb051ec
--- /dev/null
+++ b/.changes/next-release/feature-AWSSDKforJavav2-890d71f.json
@@ -0,0 +1,6 @@
+{
+ "type": "feature",
+ "category": "AWS SDK for Java v2",
+ "contributor": "",
+ "description": "This update replaces the default `apache-client` runtime dependency of service clients with the new `apache5-client`. This means that service clients will now use the `Apache5HttClient` by default if no HTTP client is explicitly configured on the service client builder. The SDK version is also updates to `2.43.0` to reflect this change in default client."
+}
diff --git a/aws-sdk-java/pom.xml b/aws-sdk-java/pom.xml
index 25db4c0c1bb8..e5945808fcbe 100644
--- a/aws-sdk-java/pom.xml
+++ b/aws-sdk-java/pom.xml
@@ -2183,6 +2183,11 @@ Amazon AutoScaling, etc).
interconnect
${awsjavasdk.version}
+
+ software.amazon.awssdk
+ apache-client
+ ${awsjavasdk.version}
+
${project.artifactId}-${project.version}
diff --git a/services/cloudfront/src/test/java/software/amazon/awssdk/services/cloudfront/CloudFrontUtilitiesIntegrationTest.java b/services/cloudfront/src/test/java/software/amazon/awssdk/services/cloudfront/CloudFrontUtilitiesIntegrationTest.java
index 0b14bcc83325..fcfaee5b8dc4 100644
--- a/services/cloudfront/src/test/java/software/amazon/awssdk/services/cloudfront/CloudFrontUtilitiesIntegrationTest.java
+++ b/services/cloudfront/src/test/java/software/amazon/awssdk/services/cloudfront/CloudFrontUtilitiesIntegrationTest.java
@@ -50,7 +50,7 @@
import software.amazon.awssdk.http.SdkHttpClient;
import software.amazon.awssdk.http.SdkHttpMethod;
import software.amazon.awssdk.http.SdkHttpRequest;
-import software.amazon.awssdk.http.apache.ApacheHttpClient;
+import software.amazon.awssdk.http.apache5.Apache5HttpClient;
import software.amazon.awssdk.services.cloudfront.cookie.CookiesForCannedPolicy;
import software.amazon.awssdk.services.cloudfront.cookie.CookiesForCustomPolicy;
import software.amazon.awssdk.services.cloudfront.internal.utils.SigningUtils;
@@ -142,7 +142,7 @@ static Stream keyCases() throws Exception {
@Test
void unsignedUrl_shouldReturn403Response() throws Exception {
- SdkHttpClient client = ApacheHttpClient.create();
+ SdkHttpClient client = Apache5HttpClient.create();
HttpExecuteResponse response =
client.prepareRequest(HttpExecuteRequest.builder()
.request(SdkHttpRequest.builder()
@@ -167,7 +167,7 @@ void getSignedUrlWithCannedPolicy_producesValidUrl(KeyTestCase testCase) throws
.keyPairId(testCase.keyPairId)
.expirationDate(expirationDate).build();
SignedUrl signedUrl = cloudFrontUtilities.getSignedUrlWithCannedPolicy(request);
- SdkHttpClient client = ApacheHttpClient.create();
+ SdkHttpClient client = Apache5HttpClient.create();
HttpExecuteResponse response = client.prepareRequest(HttpExecuteRequest.builder()
.request(signedUrl.createHttpGetRequest())
.build()).call();
@@ -186,7 +186,7 @@ void getSignedUrlWithCannedPolicy_withExpiredDate_shouldReturn403Response(KeyTes
.privateKey(testCase.privateKey)
.keyPairId(testCase.keyPairId)
.expirationDate(expirationDate));
- SdkHttpClient client = ApacheHttpClient.create();
+ SdkHttpClient client = Apache5HttpClient.create();
HttpExecuteResponse response = client.prepareRequest(HttpExecuteRequest.builder()
.request(signedUrl.createHttpGetRequest())
.build()).call();
@@ -207,7 +207,7 @@ void getSignedUrlWithCustomPolicy_producesValidUrl(KeyTestCase testCase) throws
.expirationDate(expirationDate)
.activeDate(activeDate).build();
SignedUrl signedUrl = cloudFrontUtilities.getSignedUrlWithCustomPolicy(request);
- SdkHttpClient client = ApacheHttpClient.create();
+ SdkHttpClient client = Apache5HttpClient.create();
HttpExecuteResponse response = client.prepareRequest(HttpExecuteRequest.builder()
.request(signedUrl.createHttpGetRequest())
.build()).call();
@@ -227,7 +227,7 @@ void getSignedUrlWithCustomPolicy_withFutureActiveDate_shouldReturn403Response()
.keyPairId(rsaKeyPairId)
.expirationDate(expirationDate)
.activeDate(activeDate));
- SdkHttpClient client = ApacheHttpClient.create();
+ SdkHttpClient client = Apache5HttpClient.create();
HttpExecuteResponse response = client.prepareRequest(HttpExecuteRequest.builder()
.request(signedUrl.createHttpGetRequest())
.build()).call();
@@ -245,7 +245,7 @@ void getCookiesForCannedPolicy_producesValidCookies(KeyTestCase testCase) throws
.keyPairId(testCase.keyPairId)
.expirationDate(expirationDate));
- SdkHttpClient client = ApacheHttpClient.create();
+ SdkHttpClient client = Apache5HttpClient.create();
HttpExecuteResponse response = client.prepareRequest(HttpExecuteRequest.builder()
.request(cookies.createHttpGetRequest())
.build()).call();
@@ -266,7 +266,7 @@ void getCookiesForCannedPolicy_withExpiredDate_shouldReturn403Response() throws
.expirationDate(expirationDate).build();
CookiesForCannedPolicy cookies = cloudFrontUtilities.getCookiesForCannedPolicy(request);
- SdkHttpClient client = ApacheHttpClient.create();
+ SdkHttpClient client = Apache5HttpClient.create();
HttpExecuteResponse response = client.prepareRequest(HttpExecuteRequest.builder()
.request(cookies.createHttpGetRequest())
.build()).call();
@@ -286,7 +286,7 @@ void getCookiesForCustomPolicy_producesValidCookies(KeyTestCase testCase) throws
.expirationDate(expirationDate)
.activeDate(activeDate));
- SdkHttpClient client = ApacheHttpClient.create();
+ SdkHttpClient client = Apache5HttpClient.create();
HttpExecuteResponse response = client.prepareRequest(HttpExecuteRequest.builder()
.request(cookies.createHttpGetRequest())
.build()).call();
@@ -309,7 +309,7 @@ void getCookiesForCustomPolicy_withFutureActiveDate_shouldReturn403Response() th
.activeDate(activeDate).build();
CookiesForCustomPolicy cookies = cloudFrontUtilities.getCookiesForCustomPolicy(request);
- SdkHttpClient client = ApacheHttpClient.create();
+ SdkHttpClient client = Apache5HttpClient.create();
HttpExecuteResponse response = client.prepareRequest(HttpExecuteRequest.builder()
.request(cookies.createHttpGetRequest())
.build()).call();
@@ -337,7 +337,7 @@ void getCookiesForCustomPolicy_shouldAllowQueryParametersWhenUsingWildcard(KeyTe
// Request the same resource with an additional query parameter - should still be allowed by the wildcard policy
URI uri = URI.create(resourceUrl + "?foo=bar");
- SdkHttpClient client = ApacheHttpClient.create();
+ SdkHttpClient client = Apache5HttpClient.create();
HttpExecuteResponse response = client.prepareRequest(HttpExecuteRequest.builder()
.request(SdkHttpRequest.builder()
.uri(uri)
@@ -372,7 +372,7 @@ void getCookiesForCustomPolicy_wildCardPath(KeyTestCase testCase) throws Excepti
// Use the cookies to access a different file under the same wildcard path
URI otherFileUri = URI.create(resourceUri + "/foo/other-file");
- SdkHttpClient client = ApacheHttpClient.create();
+ SdkHttpClient client = Apache5HttpClient.create();
HttpExecuteResponse response = client.prepareRequest(HttpExecuteRequest.builder()
.request(SdkHttpRequest.builder()
.uri(otherFileUri)
@@ -406,7 +406,7 @@ void getCookiesForCustomPolicy_wildCardPolicyResource_allowsAnyPath(KeyTestCase
// Use the cookies to access a completely different path - the "*" pattern should allow any path
URI differentPathUri = URI.create(resourceUrl.replace("/s3ObjectKey", "/foo/other-file"));
- SdkHttpClient client = ApacheHttpClient.create();
+ SdkHttpClient client = Apache5HttpClient.create();
HttpExecuteResponse response = client.prepareRequest(HttpExecuteRequest.builder()
.request(SdkHttpRequest.builder()
.uri(differentPathUri)
@@ -445,7 +445,7 @@ void getSignedUrlWithCustomPolicy_shouldAllowQueryParametersWhenUsingWildcard(Ke
URI modifiedUri = URI.create(urlWithDynamicParam);
- SdkHttpClient client = ApacheHttpClient.create();
+ SdkHttpClient client = Apache5HttpClient.create();
HttpExecuteResponse response = client.prepareRequest(HttpExecuteRequest.builder()
.request(SdkHttpRequest.builder()
.encodedPath(modifiedUri.getRawPath() + "?" + modifiedUri.getRawQuery())
@@ -482,7 +482,7 @@ void getSignedUrlWithCustomPolicy_wildCardPath(KeyTestCase testCase) throws Exce
URI modifiedUri = URI.create(signedUrl.url().replace("/specific-file","/other-file"));
- SdkHttpClient client = ApacheHttpClient.create();
+ SdkHttpClient client = Apache5HttpClient.create();
HttpExecuteResponse response = client.prepareRequest(HttpExecuteRequest.builder()
.request(SdkHttpRequest.builder()
.encodedPath(modifiedUri.getRawPath() + "?" + modifiedUri.getRawQuery())
@@ -518,7 +518,7 @@ void getSignedUrlWithCustomPolicy_wildCardPolicyResource_allowsAnyPath(KeyTestCa
URI modifiedUri = URI.create(signedUrl.url().replace("/s3ObjectKey","/foo/other-file"));
- SdkHttpClient client = ApacheHttpClient.create();
+ SdkHttpClient client = Apache5HttpClient.create();
HttpExecuteResponse response = client.prepareRequest(HttpExecuteRequest.builder()
.request(SdkHttpRequest.builder()
.encodedPath(modifiedUri.getRawPath() + "?" + modifiedUri.getRawQuery())
diff --git a/services/dynamodb/src/it/java/software/amazon/awssdk/services/dynamodb/SignersIntegrationTest.java b/services/dynamodb/src/it/java/software/amazon/awssdk/services/dynamodb/SignersIntegrationTest.java
index e933e6b4f30c..758027150e37 100644
--- a/services/dynamodb/src/it/java/software/amazon/awssdk/services/dynamodb/SignersIntegrationTest.java
+++ b/services/dynamodb/src/it/java/software/amazon/awssdk/services/dynamodb/SignersIntegrationTest.java
@@ -37,7 +37,7 @@
import software.amazon.awssdk.http.SdkHttpClient;
import software.amazon.awssdk.http.SdkHttpFullRequest;
import software.amazon.awssdk.http.SdkHttpMethod;
-import software.amazon.awssdk.http.apache.ApacheHttpClient;
+import software.amazon.awssdk.http.apache5.Apache5HttpClient;
import software.amazon.awssdk.services.dynamodb.model.AttributeDefinition;
import software.amazon.awssdk.services.dynamodb.model.AttributeValue;
import software.amazon.awssdk.services.dynamodb.model.CreateTableRequest;
@@ -132,7 +132,7 @@ public void sign_WithoutUsingSdkClient_ThroughExecutionAttributes() throws Excep
// sign the request
SdkHttpFullRequest signedRequest = signer.sign(httpFullRequest, constructExecutionAttributes());
- SdkHttpClient httpClient = ApacheHttpClient.builder().build();
+ SdkHttpClient httpClient = Apache5HttpClient.builder().build();
HttpExecuteRequest request = HttpExecuteRequest.builder()
.request(signedRequest)
@@ -156,7 +156,7 @@ public void test_SignMethod_WithModeledParam_And_WithoutUsingSdkClient() throws
// sign the request
SdkHttpFullRequest signedRequest = signer.sign(httpFullRequest, constructSignerParams());
- SdkHttpClient httpClient = ApacheHttpClient.builder().build();
+ SdkHttpClient httpClient = Apache5HttpClient.builder().build();
HttpExecuteRequest request = HttpExecuteRequest.builder()
.request(signedRequest)
diff --git a/services/dynamodb/src/test/resources/software/amazon/awssdk/services/dynamodb/security-manager-integ-test.policy b/services/dynamodb/src/test/resources/software/amazon/awssdk/services/dynamodb/security-manager-integ-test.policy
index 3737c5650c87..eadcb8739209 100644
--- a/services/dynamodb/src/test/resources/software/amazon/awssdk/services/dynamodb/security-manager-integ-test.policy
+++ b/services/dynamodb/src/test/resources/software/amazon/awssdk/services/dynamodb/security-manager-integ-test.policy
@@ -6,6 +6,11 @@ grant {
permission "javax.net.ssl.SSLPermission" "setDefaultSSLContext";
permission "java.net.SocketPermission" "*", "connect,resolve";
+ // Needed for Apache5 HTTP Client TCP keep-alive socket options
+ permission jdk.net.NetworkPermission "setOption.TCP_KEEPIDLE";
+ permission jdk.net.NetworkPermission "setOption.TCP_KEEPINTERVAL";
+ permission jdk.net.NetworkPermission "setOption.TCP_KEEPCOUNT";
+
// Needed for test to remove the security manager
permission java.lang.RuntimePermission "setSecurityManager";
diff --git a/services/pom.xml b/services/pom.xml
index 0643bb3d322d..6f6901611728 100644
--- a/services/pom.xml
+++ b/services/pom.xml
@@ -531,7 +531,7 @@
${awsjavasdk.version}
- apache-client
+ apache5-client
software.amazon.awssdk
${awsjavasdk.version}
runtime
diff --git a/services/s3/pom.xml b/services/s3/pom.xml
index a89a5538e058..dd149c9a155b 100644
--- a/services/s3/pom.xml
+++ b/services/s3/pom.xml
@@ -203,6 +203,12 @@
${awsjavasdk.version}
test
+
+ software.amazon.awssdk
+ apache-client
+ ${awsjavasdk.version}
+ test
+
io.netty
netty-transport
diff --git a/services/s3/src/it/java/software/amazon/awssdk/services/s3/ResponseInputStreamTimeoutIntegrationTest.java b/services/s3/src/it/java/software/amazon/awssdk/services/s3/ResponseInputStreamTimeoutIntegrationTest.java
index 2e07849567ab..d32b49af28e5 100644
--- a/services/s3/src/it/java/software/amazon/awssdk/services/s3/ResponseInputStreamTimeoutIntegrationTest.java
+++ b/services/s3/src/it/java/software/amazon/awssdk/services/s3/ResponseInputStreamTimeoutIntegrationTest.java
@@ -21,7 +21,6 @@
import java.io.IOException;
import java.time.Duration;
-import org.apache.http.conn.ConnectionPoolTimeoutException;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
@@ -29,7 +28,7 @@
import software.amazon.awssdk.core.ResponseInputStream;
import software.amazon.awssdk.core.sync.RequestBody;
import software.amazon.awssdk.core.sync.ResponseTransformer;
-import software.amazon.awssdk.http.apache.ApacheHttpClient;
+import software.amazon.awssdk.http.apache5.Apache5HttpClient;
import software.amazon.awssdk.services.s3.model.GetObjectRequest;
import software.amazon.awssdk.services.s3.model.GetObjectResponse;
import software.amazon.awssdk.services.s3.model.PutObjectRequest;
@@ -48,7 +47,7 @@ public class ResponseInputStreamTimeoutIntegrationTest extends S3IntegrationTest
@Before
public void init() {
s3Client = s3ClientBuilder()
- .httpClientBuilder(ApacheHttpClient.builder().maxConnections(1))
+ .httpClientBuilder(Apache5HttpClient.builder().maxConnections(1))
.overrideConfiguration(o -> o.retryStrategy(r -> r.maxAttempts(1)))
.build();
}
@@ -74,8 +73,7 @@ public void defaultTimeout_firstStreamNotConsumed_secondRequestTimesOut() {
s3Client.getObject(getObjectRequest);
assertThatThrownBy(() -> s3Client.getObject(getObjectRequest))
- .hasRootCauseInstanceOf(ConnectionPoolTimeoutException.class)
- .hasMessageContaining("Timeout waiting for connection from pool");
+ .hasMessageContaining("Timeout deadline");
}
@Test
diff --git a/services/s3/src/it/java/software/amazon/awssdk/services/s3/S3PresignerIntegrationTest.java b/services/s3/src/it/java/software/amazon/awssdk/services/s3/S3PresignerIntegrationTest.java
index 7e6ec50e3f8a..a618722b4ec8 100644
--- a/services/s3/src/it/java/software/amazon/awssdk/services/s3/S3PresignerIntegrationTest.java
+++ b/services/s3/src/it/java/software/amazon/awssdk/services/s3/S3PresignerIntegrationTest.java
@@ -37,7 +37,7 @@
import software.amazon.awssdk.http.HttpExecuteRequest;
import software.amazon.awssdk.http.HttpExecuteResponse;
import software.amazon.awssdk.http.SdkHttpClient;
-import software.amazon.awssdk.http.apache.ApacheHttpClient;
+import software.amazon.awssdk.http.apache5.Apache5HttpClient;
import software.amazon.awssdk.services.s3.model.AbortMultipartUploadRequest;
import software.amazon.awssdk.services.s3.model.CompleteMultipartUploadRequest;
import software.amazon.awssdk.services.s3.model.CreateMultipartUploadRequest;
@@ -192,7 +192,7 @@ public void getObject_PresignedHttpRequestCanBeInvokedDirectlyBySdk() throws IOE
assertThat(presigned.isBrowserExecutable()).isFalse();
- SdkHttpClient httpClient = ApacheHttpClient.builder().build(); // or UrlConnectionHttpClient.builder().build()
+ SdkHttpClient httpClient = Apache5HttpClient.builder().build();
ContentStreamProvider requestPayload = presigned.signedPayload()
.map(SdkBytes::asContentStreamProvider)
@@ -226,7 +226,7 @@ public void deleteObject_PresignedHttpRequestCanBeInvokedDirectlyBySdk() throws
assertThat(presigned.isBrowserExecutable()).isFalse();
- SdkHttpClient httpClient = ApacheHttpClient.builder().build(); // or UrlConnectionHttpClient.builder().build()
+ SdkHttpClient httpClient = Apache5HttpClient.builder().build();
ContentStreamProvider requestPayload = presigned.signedPayload()
.map(SdkBytes::asContentStreamProvider)
@@ -255,7 +255,7 @@ public void putObject_PresignedHttpRequestCanBeInvokedDirectlyBySdk() throws IOE
assertThat(presigned.isBrowserExecutable()).isFalse();
- SdkHttpClient httpClient = ApacheHttpClient.builder().build(); // or UrlConnectionHttpClient.builder().build()
+ SdkHttpClient httpClient = Apache5HttpClient.builder().build();
ContentStreamProvider requestPayload = () -> new StringInputStream(testObjectContent);
@@ -374,7 +374,7 @@ public void headObject_CanBePresigned() throws IOException {
assertThat(presigned.isBrowserExecutable()).isFalse();
- SdkHttpClient httpClient = ApacheHttpClient.builder().build(); // or UrlConnectionHttpClient.builder().build()
+ SdkHttpClient httpClient = Apache5HttpClient.builder().build();
HttpExecuteRequest request = HttpExecuteRequest.builder()
.request(presigned.httpRequest())
@@ -397,7 +397,7 @@ public void headBucket_CanBePresigned() throws IOException {
assertThat(presigned.isBrowserExecutable()).isFalse();
- SdkHttpClient httpClient = ApacheHttpClient.builder().build(); // or UrlConnectionHttpClient.builder().build()
+ SdkHttpClient httpClient = Apache5HttpClient.builder().build();
HttpExecuteRequest request = HttpExecuteRequest.builder()
.request(presigned.httpRequest())
@@ -442,7 +442,7 @@ private Optional getMultipartUpload(String objectKey) {
}
private HttpExecuteResponse execute(PresignedRequest presigned, String payload) throws IOException {
- SdkHttpClient httpClient = ApacheHttpClient.builder().build();
+ SdkHttpClient httpClient = Apache5HttpClient.builder().build();
ContentStreamProvider requestPayload = payload == null ? null : () -> new StringInputStream(payload);
diff --git a/services/s3/src/it/java/software/amazon/awssdk/services/s3/crossregion/S3CrossRegionCrtIntegrationTest.java b/services/s3/src/it/java/software/amazon/awssdk/services/s3/crossregion/S3CrossRegionCrtIntegrationTest.java
index b90f147b54c0..89227d5e93a6 100644
--- a/services/s3/src/it/java/software/amazon/awssdk/services/s3/crossregion/S3CrossRegionCrtIntegrationTest.java
+++ b/services/s3/src/it/java/software/amazon/awssdk/services/s3/crossregion/S3CrossRegionCrtIntegrationTest.java
@@ -20,14 +20,8 @@
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
-import org.junit.jupiter.api.Test;
-import software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider;
-import software.amazon.awssdk.http.apache.ApacheHttpClient;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.s3.S3AsyncClient;
-import software.amazon.awssdk.services.s3.S3Client;
-import software.amazon.awssdk.services.s3.model.ListObjectsRequest;
-import software.amazon.awssdk.services.s3.model.ListObjectsResponse;
public class S3CrossRegionCrtIntegrationTest extends S3CrossRegionAsyncIntegrationTestBase {
private static final String BUCKET = temporaryBucketName(S3CrossRegionCrtIntegrationTest.class);
@@ -49,7 +43,7 @@ public void initialize() {
.region(Region.AWS_GLOBAL)
.credentialsProvider(CREDENTIALS_PROVIDER_CHAIN)
.crossRegionAccessEnabled(true)
- .build();
+ .build();
}
@Override
protected String bucketName() {
diff --git a/services/s3/src/it/java/software/amazon/awssdk/services/s3/signer/AwsS3V4SignerIntegrationTest.java b/services/s3/src/it/java/software/amazon/awssdk/services/s3/signer/AwsS3V4SignerIntegrationTest.java
index 2cab5a15e4c8..4d7eb6556809 100644
--- a/services/s3/src/it/java/software/amazon/awssdk/services/s3/signer/AwsS3V4SignerIntegrationTest.java
+++ b/services/s3/src/it/java/software/amazon/awssdk/services/s3/signer/AwsS3V4SignerIntegrationTest.java
@@ -44,7 +44,7 @@
import software.amazon.awssdk.http.SdkHttpClient;
import software.amazon.awssdk.http.SdkHttpFullRequest;
import software.amazon.awssdk.http.SdkHttpMethod;
-import software.amazon.awssdk.http.apache.ApacheHttpClient;
+import software.amazon.awssdk.http.apache5.Apache5HttpClient;
import software.amazon.awssdk.services.s3.S3Client;
import software.amazon.awssdk.services.s3.S3ClientBuilder;
import software.amazon.awssdk.services.s3.S3IntegrationTestBase;
@@ -117,7 +117,7 @@ public void test_SignMethod_WithModeledParam_And_WithoutUsingSdkClient() throws
// sign the request
SdkHttpFullRequest signedRequest = signer.sign(httpFullRequest, constructSignerParams());
- SdkHttpClient httpClient = ApacheHttpClient.builder().build();
+ SdkHttpClient httpClient = Apache5HttpClient.builder().build();
HttpExecuteResponse response = httpClient.prepareRequest(HttpExecuteRequest.builder().request(signedRequest).build())
.call();
@@ -136,7 +136,7 @@ public void test_SignMethod_WithExecutionAttributes_And_WithoutUsingSdkClient()
// sign the request
SdkHttpFullRequest signedRequest = signer.sign(httpFullRequest, constructExecutionAttributes());
- SdkHttpClient httpClient = ApacheHttpClient.builder().build();
+ SdkHttpClient httpClient = Apache5HttpClient.builder().build();
HttpExecuteResponse response = httpClient.prepareRequest(HttpExecuteRequest.builder().request(signedRequest).build())
.call();
diff --git a/services/s3/src/test/java/software/amazon/awssdk/services/s3/functionaltests/S3ExpressCreateSessionTest.java b/services/s3/src/test/java/software/amazon/awssdk/services/s3/functionaltests/S3ExpressCreateSessionTest.java
index 815736f9d1e6..7185af94c4e5 100644
--- a/services/s3/src/test/java/software/amazon/awssdk/services/s3/functionaltests/S3ExpressCreateSessionTest.java
+++ b/services/s3/src/test/java/software/amazon/awssdk/services/s3/functionaltests/S3ExpressCreateSessionTest.java
@@ -53,7 +53,7 @@
import software.amazon.awssdk.core.interceptor.ExecutionInterceptor;
import software.amazon.awssdk.core.rules.testing.BaseRuleSetClientTest;
import software.amazon.awssdk.http.SdkHttpRequest;
-import software.amazon.awssdk.http.apache.ApacheHttpClient;
+import software.amazon.awssdk.http.apache5.Apache5HttpClient;
import software.amazon.awssdk.http.nio.netty.NettyNioAsyncHttpClient;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.s3.S3AsyncClient;
@@ -298,10 +298,10 @@ private void setEndpointParametersSync(S3ClientBuilder clientBuilder, Protocol p
clientBuilder.endpointOverride(WM_HTTP_ENDPOINT.apply(wm));
} else {
clientBuilder.endpointOverride(WM_HTTPS_ENDPOINT.apply(wm))
- .httpClient(ApacheHttpClient.builder()
- .buildWithDefaults(AttributeMap.builder()
- .put(TRUST_ALL_CERTIFICATES, TRUE)
- .build()));
+ .httpClient(Apache5HttpClient.builder()
+ .buildWithDefaults(AttributeMap.builder()
+ .put(TRUST_ALL_CERTIFICATES, TRUE)
+ .build()));
}
}
diff --git a/services/s3/src/test/java/software/amazon/awssdk/services/s3/functionaltests/S3ExpressTest.java b/services/s3/src/test/java/software/amazon/awssdk/services/s3/functionaltests/S3ExpressTest.java
index 10414df6c14f..c10dd66ab024 100644
--- a/services/s3/src/test/java/software/amazon/awssdk/services/s3/functionaltests/S3ExpressTest.java
+++ b/services/s3/src/test/java/software/amazon/awssdk/services/s3/functionaltests/S3ExpressTest.java
@@ -54,7 +54,7 @@
import software.amazon.awssdk.core.rules.testing.BaseRuleSetClientTest;
import software.amazon.awssdk.core.sync.RequestBody;
import software.amazon.awssdk.http.SdkHttpRequest;
-import software.amazon.awssdk.http.apache.ApacheHttpClient;
+import software.amazon.awssdk.http.apache5.Apache5HttpClient;
import software.amazon.awssdk.http.nio.netty.NettyNioAsyncHttpClient;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.s3.S3AsyncClient;
@@ -356,10 +356,10 @@ private S3Client getSyncClient(Protocol protocol, WireMockRuntimeInfo wm, S3Expr
s3ClientBuilder.endpointOverride(WM_HTTP_ENDPOINT.apply(wm));
} else {
s3ClientBuilder.endpointOverride(WM_HTTPS_ENDPOINT.apply(wm))
- .httpClient(ApacheHttpClient.builder()
- .buildWithDefaults(AttributeMap.builder()
- .put(TRUST_ALL_CERTIFICATES, TRUE)
- .build()));
+ .httpClient(Apache5HttpClient.builder()
+ .buildWithDefaults(AttributeMap.builder()
+ .put(TRUST_ALL_CERTIFICATES, TRUE)
+ .build()));
}
if (s3ExpressSessionAuth == S3ExpressSessionAuth.DISABLE_AUTH) {
s3ClientBuilder.disableS3ExpressSessionAuth(true);
diff --git a/services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/s3express/S3ExpressCacheFunctionalTest.java b/services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/s3express/S3ExpressCacheFunctionalTest.java
index 22b3e3983b71..abfe4fc744f3 100644
--- a/services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/s3express/S3ExpressCacheFunctionalTest.java
+++ b/services/s3/src/test/java/software/amazon/awssdk/services/s3/internal/s3express/S3ExpressCacheFunctionalTest.java
@@ -52,7 +52,7 @@
import software.amazon.awssdk.core.interceptor.SdkInternalExecutionAttribute;
import software.amazon.awssdk.core.sync.RequestBody;
import software.amazon.awssdk.http.SdkHttpRequest;
-import software.amazon.awssdk.http.apache.ApacheHttpClient;
+import software.amazon.awssdk.http.apache5.Apache5HttpClient;
import software.amazon.awssdk.identity.spi.AwsCredentialsIdentity;
import software.amazon.awssdk.identity.spi.IdentityProvider;
import software.amazon.awssdk.identity.spi.IdentityProviders;
@@ -245,8 +245,8 @@ private S3ClientBuilder getS3ClientBuilder(WireMockRuntimeInfo wm) {
.addExecutionInterceptor(PATH_STYLE_INTERCEPTOR))
.credentialsProvider(CLIENT_CREDENTIALS_PROVIDER)
.endpointOverride(WM_HTTPS_ENDPOINT.apply(wm))
- .httpClient(ApacheHttpClient.builder()
- .buildWithDefaults(AttributeMap.builder()
+ .httpClient(Apache5HttpClient.builder()
+ .buildWithDefaults(AttributeMap.builder()
.put(TRUST_ALL_CERTIFICATES, TRUE)
.build()));
}
diff --git a/services/s3control/src/it/java/software.amazon.awssdk.services.s3control/S3AccessPointsIntegrationTest.java b/services/s3control/src/it/java/software.amazon.awssdk.services.s3control/S3AccessPointsIntegrationTest.java
index 95e4bf4e044b..e9dd6285800e 100644
--- a/services/s3control/src/it/java/software.amazon.awssdk.services.s3control/S3AccessPointsIntegrationTest.java
+++ b/services/s3control/src/it/java/software.amazon.awssdk.services.s3control/S3AccessPointsIntegrationTest.java
@@ -30,7 +30,7 @@
import software.amazon.awssdk.http.HttpExecuteResponse;
import software.amazon.awssdk.http.SdkHttpClient;
import software.amazon.awssdk.http.SdkHttpRequest;
-import software.amazon.awssdk.http.apache.ApacheHttpClient;
+import software.amazon.awssdk.http.apache5.Apache5HttpClient;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.s3.S3Client;
import software.amazon.awssdk.services.s3.model.GetObjectRequest;
@@ -147,7 +147,7 @@ private void testAccessPointPresigning(String accessPointArn, String key) throws
.key(key)))
.httpRequest();
- try (SdkHttpClient client = ApacheHttpClient.create()) {
+ try (SdkHttpClient client = Apache5HttpClient.create()) {
client.prepareRequest(HttpExecuteRequest.builder()
.request(presignedPut)
.contentStreamProvider(() -> new StringInputStream(data))
diff --git a/services/s3control/src/it/java/software.amazon.awssdk.services.s3control/S3MrapIntegrationTest.java b/services/s3control/src/it/java/software.amazon.awssdk.services.s3control/S3MrapIntegrationTest.java
index 3fac572e29d9..1d38b036fdf4 100644
--- a/services/s3control/src/it/java/software.amazon.awssdk.services.s3control/S3MrapIntegrationTest.java
+++ b/services/s3control/src/it/java/software.amazon.awssdk.services.s3control/S3MrapIntegrationTest.java
@@ -44,7 +44,7 @@
import software.amazon.awssdk.http.HttpExecuteRequest;
import software.amazon.awssdk.http.HttpExecuteResponse;
import software.amazon.awssdk.http.SdkHttpRequest;
-import software.amazon.awssdk.http.apache.ApacheHttpClient;
+import software.amazon.awssdk.http.apache5.Apache5HttpClient;
import software.amazon.awssdk.http.auth.aws.signer.SignerConstant;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.s3.S3AsyncClient;
@@ -314,7 +314,7 @@ private String applyPresignedUrl(PresignedRequest presignedRequest, String conte
builder.contentStreamProvider(() -> new StringInputStream(content));
}
HttpExecuteRequest request = builder.build();
- HttpExecuteResponse response = ApacheHttpClient.create().prepareRequest(request).call();
+ HttpExecuteResponse response = Apache5HttpClient.create().prepareRequest(request).call();
return response.responseBody()
.map(stream -> invokeSafely(() -> IoUtils.toUtf8String(stream)))
.orElseThrow(() -> new IOException("No input stream"));