5454import software .amazon .awssdk .core .client .config .SdkAdvancedClientOption ;
5555import software .amazon .awssdk .core .interceptor .ExecutionInterceptor ;
5656import software .amazon .awssdk .core .retry .RetryPolicy ;
57+ import software .amazon .awssdk .http .apache .ApacheHttpClient ;
58+ import software .amazon .awssdk .http .nio .netty .NettyNioAsyncHttpClient ;
5759import software .amazon .awssdk .regions .Region ;
5860import software .amazon .awssdk .services .s3 .S3AsyncClient ;
5961import software .amazon .awssdk .services .s3 .S3BaseClientBuilder ;
@@ -190,9 +192,11 @@ public S3Client createS3ClientV2(
190192
191193 Configuration conf = getConf ();
192194 bucket = uri .getHost ();
195+ ApacheHttpClient .Builder httpClientBuilder = AWSClientConfig
196+ .createHttpClientBuilder (conf )
197+ .proxyConfiguration (AWSClientConfig .createProxyConfiguration (conf , bucket ));
193198 return configureClientBuilder (S3Client .builder (), parameters , conf , bucket )
194- .httpClientBuilder (AWSClientConfig .createHttpClientBuilder (conf )
195- .proxyConfiguration (AWSClientConfig .createProxyConfiguration (conf , bucket )))
199+ .httpClientBuilder (httpClientBuilder )
196200 .build ();
197201 }
198202
@@ -203,9 +207,11 @@ public S3AsyncClient createS3AsyncClient(
203207
204208 Configuration conf = getConf ();
205209 bucket = uri .getHost ();
210+ NettyNioAsyncHttpClient .Builder httpClientBuilder = AWSClientConfig
211+ .createAsyncHttpClientBuilder (conf )
212+ .proxyConfiguration (AWSClientConfig .createAsyncProxyConfiguration (conf , bucket ));
206213 return configureClientBuilder (S3AsyncClient .builder (), parameters , conf , bucket )
207- .httpClientBuilder (AWSClientConfig .createAsyncHttpClientBuilder (conf )
208- .proxyConfiguration (AWSClientConfig .createAsyncProxyConfiguration (conf , bucket )))
214+ .httpClientBuilder (httpClientBuilder )
209215 .build ();
210216 }
211217
@@ -233,6 +239,10 @@ BuilderT configureClientBuilder(
233239 LOG .debug ("Using endpoint {}; and region {}" , endpoint , region );
234240
235241 // TODO: Some configuration done in configureBasicParams is not done yet.
242+ S3Configuration serviceConfiguration = S3Configuration .builder ()
243+ .pathStyleAccessEnabled (parameters .isPathStyleAccess ())
244+ .build ();
245+
236246 return builder
237247 .overrideConfiguration (createClientOverrideConfiguration (parameters , conf ))
238248 .credentialsProvider (
@@ -241,9 +251,7 @@ BuilderT configureClientBuilder(
241251 V1V2AwsCredentialProviderAdapter .adapt (parameters .getCredentialSet ()))
242252 .endpointOverride (endpoint )
243253 .region (region )
244- .serviceConfiguration (S3Configuration .builder ()
245- .pathStyleAccessEnabled (parameters .isPathStyleAccess ())
246- .build ());
254+ .serviceConfiguration (serviceConfiguration );
247255 }
248256
249257 /**
0 commit comments