|
17 | 17 | import java.util.Optional; |
18 | 18 | import java.util.concurrent.ExecutorService; |
19 | 19 | import java.util.concurrent.TimeUnit; |
20 | | -import java.util.stream.Collectors; |
21 | 20 |
|
22 | 21 | import javax.net.ssl.HostnameVerifier; |
23 | 22 | import javax.net.ssl.SSLContext; |
|
49 | 48 | import io.quarkus.arc.Arc; |
50 | 49 | import io.quarkus.arc.ArcContainer; |
51 | 50 | import io.quarkus.arc.InstanceHandle; |
52 | | -import io.quarkus.proxy.config.ProxyConfig.NamedProxyConfig; |
53 | | -import io.quarkus.proxy.config.ProxyConfigurationRegistry; |
54 | | -import io.quarkus.proxy.config.ProxyConfigurationRegistry.NoneReturnValue; |
55 | | -import io.quarkus.proxy.config.ProxyConfigurationRegistry.UsernamePassword; |
| 51 | +import io.quarkus.proxy.ProxyConfiguration; |
| 52 | +import io.quarkus.proxy.ProxyConfigurationRegistry; |
56 | 53 | import io.quarkus.rest.client.reactive.runtime.ProxyAddressUtil.HostAndPort; |
57 | 54 | import io.quarkus.restclient.config.RestClientsConfig; |
58 | 55 | import io.quarkus.tls.TlsConfiguration; |
@@ -251,25 +248,17 @@ public RestClientBuilderImpl proxyConnectTimeout(Duration proxyConnectTimeout) { |
251 | 248 | return this; |
252 | 249 | } |
253 | 250 |
|
254 | | - public RestClientBuilderImpl proxyType(io.quarkus.proxy.config.ProxyConfig.NamedProxyConfig.ProxyType proxyType) { |
| 251 | + public RestClientBuilderImpl proxyType(io.quarkus.proxy.ProxyType proxyType) { |
255 | 252 | this.proxyType = toVertxProxyType(proxyType); |
256 | 253 | return this; |
257 | 254 | } |
258 | 255 |
|
259 | | - static ProxyType toVertxProxyType(io.quarkus.proxy.config.ProxyConfig.NamedProxyConfig.ProxyType type) { |
260 | | - switch (type) { |
261 | | - case HTTP: { |
262 | | - return ProxyType.HTTP; |
263 | | - } |
264 | | - case SOCKS4: { |
265 | | - return ProxyType.SOCKS4; |
266 | | - } |
267 | | - case SOCKS5: { |
268 | | - return ProxyType.SOCKS5; |
269 | | - } |
270 | | - default: |
271 | | - throw new IllegalArgumentException("Unexpected ProxyType " + type); |
272 | | - } |
| 256 | + static ProxyType toVertxProxyType(io.quarkus.proxy.ProxyType type) { |
| 257 | + return switch (type) { |
| 258 | + case HTTP -> ProxyType.HTTP; |
| 259 | + case SOCKS4 -> ProxyType.SOCKS4; |
| 260 | + case SOCKS5 -> ProxyType.SOCKS5; |
| 261 | + }; |
273 | 262 | } |
274 | 263 |
|
275 | 264 | public RestClientBuilderImpl multipartPostEncoderMode(String mode) { |
@@ -617,17 +606,15 @@ public <T> T build(Class<T> aClass) throws IllegalStateException, RestClientDefi |
617 | 606 | } else { |
618 | 607 | /* Check the named proxy configuration on the rest-client extension level or fallback to global proxy settings */ |
619 | 608 | final ProxyConfigurationRegistry registry = Arc.container().select(ProxyConfigurationRegistry.class).get(); |
620 | | - registry.getProxyConfig(restClients.proxyConfigurationName(), NoneReturnValue.NONE_INSTANCE) |
621 | | - .map(NamedProxyConfig::assertHttpType) |
| 609 | + registry.get(restClients.proxyConfigurationName()) |
| 610 | + .map(ProxyConfiguration::assertHttpType) |
622 | 611 | .ifPresent(proxyConfig -> { |
623 | | - Optional<UsernamePassword> creds = registry.getUsernamePassword(proxyConfig); |
624 | 612 | configureProxy( |
625 | | - proxyConfig.host().get(), |
626 | | - proxyConfig.port().getAsInt(), |
627 | | - creds.map(UsernamePassword::getUsername).orElse(null), |
628 | | - creds.map(UsernamePassword::getPassword).orElse(null), |
629 | | - proxyConfig.nonProxyHosts().map(nph -> nph.stream().collect(Collectors.joining(","))) |
630 | | - .orElse(null), |
| 613 | + proxyConfig.host(), |
| 614 | + proxyConfig.port(), |
| 615 | + proxyConfig.username().orElse(null), |
| 616 | + proxyConfig.password().orElse(null), |
| 617 | + proxyConfig.nonProxyHosts().map(nph -> String.join(",", nph)).orElse(null), |
631 | 618 | proxyConfig.proxyConnectTimeout().orElse(null), |
632 | 619 | toVertxProxyType(proxyConfig.type())); |
633 | 620 | }); |
|
0 commit comments