aws / aws/aws-sdk-java-v2

ApacheHttpClient.Builder throws on invalid `http.proxyPort` system property even when "useSystemPropertyValues" is false

Open
#4,385 1 comment 0 reactions 0 assignees View on GitHub
bug p2
Dominant language
Java
Stars
2.6k
Forks
1k
Avg merge
2d 9h
Merged PRs (30d)
51

Description

### Describe the bug

ApacheHttpClient.DefaultBuilder always runs `ProxyConfiguration.builder().build()`.
This would be fine, except the default configuration may throw.

Reported in https://github.com/aws/aws-toolkit-jetbrains/issues/3845

### Expected Behavior

ApacheHttpClient.Builder should ignore system properties if builder sets this to false

### Current Behavior

```
Exception in thread "main" java.lang.NumberFormatException: For input string: ""
at java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:67)
at java.base/java.lang.Integer.parseInt(Integer.java:678)
at java.base/java.lang.Integer.parseInt(Integer.java:786)
at java.base/java.util.Optional.map(Optional.java:260)
at software.amazon.awssdk.http.apache.ProxyConfiguration.resolvePort(ProxyConfiguration.java:216)
at software.amazon.awssdk.http.apache.ProxyConfiguration.(ProxyConfiguration.java:67)
at software.amazon.awssdk.http.apache.ProxyConfiguration.(ProxyConfiguration.java:37)
at software.amazon.awssdk.http.apache.ProxyConfiguration$DefaultClientProxyConfigurationBuilder.build(ProxyConfiguration.java:409)
at software.amazon.awssdk.http.apache.ProxyConfiguration$DefaultClientProxyConfigurationBuilder.build(ProxyConfiguration.java:300)
at software.amazon.awssdk.http.apache.ApacheHttpClient$DefaultBuilder.(ApacheHttpClient.java:458)
at software.amazon.awssdk.http.apache.ApacheHttpClient$DefaultBuilder.(ApacheHttpClient.java:456)
at software.amazon.awssdk.http.apache.ApacheHttpClient.builder(ApacheHttpClient.java:131)
at org.example.Main.main(Main.java:8)
```

### Reproduction Steps

```
public class Main {
public static void main(String[] args) {
System.setProperty("http.proxyPort", "");
ApacheHttpClient.builder()
.proxyConfiguration(ProxyConfiguration.builder().useSystemPropertyValues(false).build())
.build();
}
}
```

### Possible Solution

_No response_

### Additional Information/Context

_No response_

### AWS Java SDK version used

2.20.138

### JDK version used

OpenJDK 64-Bit Server VM Corretto-17.0.8.7.1 (build 17.0.8+7-LTS, mixed mode, sharing)

### Operating System and version

macOS Ventura 13.5.x

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.