Skip to content

Commit a704559

Browse files
committed
Add tlsNegotiationTimeout
1 parent fbba727 commit a704559

File tree

4 files changed

+20
-7
lines changed

4 files changed

+20
-7
lines changed

codegen-lite/src/main/java/software/amazon/awssdk/codegen/lite/defaultsmode/DefaultsLoader.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ public final class DefaultsLoader {
4040

4141
static {
4242
UNSUPPORTED_OPTIONS.add("stsRegionalEndpoints");
43-
UNSUPPORTED_OPTIONS.add("tlsNegotiationTimeoutInMillis");
4443
}
4544

4645
private DefaultsLoader() {

codegen-lite/src/main/java/software/amazon/awssdk/codegen/lite/defaultsmode/DefaultsModeConfigurationGenerator.java

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,15 +49,23 @@ public class DefaultsModeConfigurationGenerator implements PoetClass {
4949
private static final String HTTP_DEFAULTS_VAR_SUFFIX = "_HTTP_DEFAULTS";
5050
private static final Map<String, OptionMetadata> CONFIGURATION_MAPPING = new HashMap<>();
5151
private static final Map<String, OptionMetadata> HTTP_CONFIGURATION_MAPPING = new HashMap<>();
52+
private static final String CONNECT_TIMEOUT_IN_MILLIS = "connectTimeoutInMillis";
53+
private static final String TLS_NEGOTIATION_TIMEOUT_IN_MILLIS = "tlsNegotiationTimeoutInMillis";
54+
5255
private final String basePackage;
5356
private final String defaultsModeBase;
5457
private final DefaultConfiguration configuration;
5558

5659
static {
57-
HTTP_CONFIGURATION_MAPPING.put("connectTimeoutInMillis",
60+
HTTP_CONFIGURATION_MAPPING.put(CONNECT_TIMEOUT_IN_MILLIS,
5861
new OptionMetadata(ClassName.get("java.time", "Duration"),
5962
ClassName.get("software.amazon.awssdk.http",
6063
"SdkHttpConfigurationOption", "CONNECTION_TIMEOUT")));
64+
HTTP_CONFIGURATION_MAPPING.put(TLS_NEGOTIATION_TIMEOUT_IN_MILLIS,
65+
new OptionMetadata(ClassName.get("java.time", "Duration"),
66+
ClassName.get("software.amazon.awssdk.http",
67+
"SdkHttpConfigurationOption",
68+
"TLS_NEGOTIATION_TIMEOUT")));
6169
CONFIGURATION_MAPPING.put("retryMode", new OptionMetadata(ClassName.get("software.amazon.awssdk.core.retry", "RetryMode"
6270
), ClassName.get("software.amazon.awssdk.core.client.config", "SdkClientOption", "DEFAULT_RETRY_MODE")));
6371
}
@@ -179,7 +187,8 @@ private void attributeMapBuilder(String option, String value, CodeBlock.Builder
179187
private void httpAttributeMapBuilder(String option, String value, CodeBlock.Builder attributeBuilder) {
180188
OptionMetadata optionMetadata = HTTP_CONFIGURATION_MAPPING.get(option);
181189
switch (option) {
182-
case "connectTimeoutInMillis":
190+
case CONNECT_TIMEOUT_IN_MILLIS:
191+
case TLS_NEGOTIATION_TIMEOUT_IN_MILLIS:
183192
attributeBuilder.add(".put($T, $T.ofMillis($N))", optionMetadata.attribute, optionMetadata.type, value);
184193
break;
185194
default:

codegen-lite/src/test/resources/software/amazon/awssdk/codegen/lite/defaultsmode/defaults-mode-configuration.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,25 +20,29 @@ public final class DefaultsModeConfiguration {
2020
.put(SdkClientOption.DEFAULT_RETRY_MODE, RetryMode.STANDARD).build();
2121

2222
private static final AttributeMap STANDARD_HTTP_DEFAULTS = AttributeMap.builder()
23-
.put(SdkHttpConfigurationOption.CONNECTION_TIMEOUT, Duration.ofMillis(2000)).build();
23+
.put(SdkHttpConfigurationOption.CONNECTION_TIMEOUT, Duration.ofMillis(2000))
24+
.put(SdkHttpConfigurationOption.TLS_NEGOTIATION_TIMEOUT, Duration.ofMillis(2000)).build();
2425

2526
private static final AttributeMap MOBILE_DEFAULTS = AttributeMap.builder()
2627
.put(SdkClientOption.DEFAULT_RETRY_MODE, RetryMode.ADAPTIVE).build();
2728

2829
private static final AttributeMap MOBILE_HTTP_DEFAULTS = AttributeMap.builder()
29-
.put(SdkHttpConfigurationOption.CONNECTION_TIMEOUT, Duration.ofMillis(10000)).build();
30+
.put(SdkHttpConfigurationOption.CONNECTION_TIMEOUT, Duration.ofMillis(10000))
31+
.put(SdkHttpConfigurationOption.TLS_NEGOTIATION_TIMEOUT, Duration.ofMillis(11000)).build();
3032

3133
private static final AttributeMap CROSS_REGION_DEFAULTS = AttributeMap.builder()
3234
.put(SdkClientOption.DEFAULT_RETRY_MODE, RetryMode.STANDARD).build();
3335

3436
private static final AttributeMap CROSS_REGION_HTTP_DEFAULTS = AttributeMap.builder()
35-
.put(SdkHttpConfigurationOption.CONNECTION_TIMEOUT, Duration.ofMillis(2800)).build();
37+
.put(SdkHttpConfigurationOption.CONNECTION_TIMEOUT, Duration.ofMillis(2800))
38+
.put(SdkHttpConfigurationOption.TLS_NEGOTIATION_TIMEOUT, Duration.ofMillis(2800)).build();
3639

3740
private static final AttributeMap IN_REGION_DEFAULTS = AttributeMap.builder()
3841
.put(SdkClientOption.DEFAULT_RETRY_MODE, RetryMode.STANDARD).build();
3942

4043
private static final AttributeMap IN_REGION_HTTP_DEFAULTS = AttributeMap.builder()
41-
.put(SdkHttpConfigurationOption.CONNECTION_TIMEOUT, Duration.ofMillis(1000)).build();
44+
.put(SdkHttpConfigurationOption.CONNECTION_TIMEOUT, Duration.ofMillis(1000))
45+
.put(SdkHttpConfigurationOption.TLS_NEGOTIATION_TIMEOUT, Duration.ofMillis(1000)).build();
4246

4347
private static final AttributeMap LEGACY_DEFAULTS = AttributeMap.empty();
4448

codegen-lite/src/test/resources/software/amazon/awssdk/codegen/lite/defaultsmode/defaults-mode.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
* <li>retryMode: PLACEHOLDER</li>
1414
* <li>s3UsEast1RegionalEndpoints: PLACEHOLDER</li>
1515
* <li>connectTimeoutInMillis: PLACEHOLDER</li>
16+
* <li>tlsNegotiationTimeoutInMillis: PLACEHOLDER</li>
1617
* </ul>
1718
* <p>
1819
* All options above can be configured by users, and the overridden value will take precedence.

0 commit comments

Comments
 (0)