ApacheHttpClient.Builder throws on invalid `http.proxyPort` system property even when "useSystemPropertyValues" is false
- Lenguaje dominante
- Java
- Estrellas
- 2.6k
- Forks
- 1k
- Merge medio
- 2 d 9 h
- PR fusionados (30 d)
- 51
Descripción
### 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
Guía de contribución
Línea de trabajo
Comienza con ApacheHttpClient.DefaultBuilder y ProxyConfiguration, especialmente con la inicialización del builder y el manejo de las propiedades del sistema que se muestran en el stack trace. Ejecuta la reproducción en Java con un http.proxyPort vacío y useSystemPropertyValues(false). La tarea estará terminada cuando ApacheHttpClient.builder().build() ya no lance una excepción en esa configuración y haya cobertura para el comportamiento reportado.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- java
- Área
- networking
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bien especificado
- Aptitud para principiantes
- 32/100