Skip to content

Commit 311e134

Browse files
committed
RESTEasy Reactive: adjust the Proxy Registry usage after recent refactoring
1 parent 2a1e6c1 commit 311e134

File tree

4 files changed

+28
-43
lines changed

4 files changed

+28
-43
lines changed

extensions/resteasy-reactive/rest-client/runtime/src/main/java/io/quarkus/rest/client/reactive/QuarkusRestClientBuilder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
import org.jboss.resteasy.reactive.client.api.ClientLogger;
2121
import org.jboss.resteasy.reactive.client.api.LoggingScope;
2222

23-
import io.quarkus.proxy.config.ProxyConfig.NamedProxyConfig.ProxyType;
23+
import io.quarkus.proxy.ProxyType;
2424
import io.quarkus.rest.client.reactive.runtime.QuarkusRestClientBuilderImpl;
2525
import io.quarkus.rest.client.reactive.runtime.RestClientBuilderImpl;
2626
import io.quarkus.tls.TlsConfiguration;

extensions/resteasy-reactive/rest-client/runtime/src/main/java/io/quarkus/rest/client/reactive/runtime/QuarkusRestClientBuilderImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
import org.jboss.resteasy.reactive.client.api.ClientLogger;
1919
import org.jboss.resteasy.reactive.client.api.LoggingScope;
2020

21-
import io.quarkus.proxy.config.ProxyConfig.NamedProxyConfig.ProxyType;
21+
import io.quarkus.proxy.ProxyType;
2222
import io.quarkus.rest.client.reactive.QuarkusRestClientBuilder;
2323
import io.quarkus.rest.client.reactive.runtime.context.ClientHeadersFactoryContextResolver;
2424
import io.quarkus.rest.client.reactive.runtime.context.HttpClientOptionsContextResolver;

extensions/resteasy-reactive/rest-client/runtime/src/main/java/io/quarkus/rest/client/reactive/runtime/RestClientBuilderImpl.java

Lines changed: 16 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
import java.util.Optional;
1818
import java.util.concurrent.ExecutorService;
1919
import java.util.concurrent.TimeUnit;
20-
import java.util.stream.Collectors;
2120

2221
import javax.net.ssl.HostnameVerifier;
2322
import javax.net.ssl.SSLContext;
@@ -49,10 +48,8 @@
4948
import io.quarkus.arc.Arc;
5049
import io.quarkus.arc.ArcContainer;
5150
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;
5653
import io.quarkus.rest.client.reactive.runtime.ProxyAddressUtil.HostAndPort;
5754
import io.quarkus.restclient.config.RestClientsConfig;
5855
import io.quarkus.tls.TlsConfiguration;
@@ -251,25 +248,17 @@ public RestClientBuilderImpl proxyConnectTimeout(Duration proxyConnectTimeout) {
251248
return this;
252249
}
253250

254-
public RestClientBuilderImpl proxyType(io.quarkus.proxy.config.ProxyConfig.NamedProxyConfig.ProxyType proxyType) {
251+
public RestClientBuilderImpl proxyType(io.quarkus.proxy.ProxyType proxyType) {
255252
this.proxyType = toVertxProxyType(proxyType);
256253
return this;
257254
}
258255

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+
};
273262
}
274263

275264
public RestClientBuilderImpl multipartPostEncoderMode(String mode) {
@@ -617,17 +606,15 @@ public <T> T build(Class<T> aClass) throws IllegalStateException, RestClientDefi
617606
} else {
618607
/* Check the named proxy configuration on the rest-client extension level or fallback to global proxy settings */
619608
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)
622611
.ifPresent(proxyConfig -> {
623-
Optional<UsernamePassword> creds = registry.getUsernamePassword(proxyConfig);
624612
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),
631618
proxyConfig.proxyConnectTimeout().orElse(null),
632619
toVertxProxyType(proxyConfig.type()));
633620
});

extensions/resteasy-reactive/rest-client/runtime/src/main/java/io/quarkus/rest/client/reactive/runtime/RestClientCDIDelegateBuilder.java

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
import java.util.OptionalInt;
2121
import java.util.concurrent.TimeUnit;
2222
import java.util.function.Function;
23-
import java.util.stream.Collectors;
2423

2524
import javax.net.ssl.HostnameVerifier;
2625

@@ -31,9 +30,8 @@
3130
import org.jboss.resteasy.reactive.client.impl.multipart.PausableHttpPostRequestEncoder;
3231

3332
import io.quarkus.arc.Arc;
34-
import io.quarkus.proxy.config.ProxyConfig.NamedProxyConfig;
35-
import io.quarkus.proxy.config.ProxyConfigurationRegistry;
36-
import io.quarkus.proxy.config.ProxyConfigurationRegistry.NoneReturnValue;
33+
import io.quarkus.proxy.ProxyConfiguration;
34+
import io.quarkus.proxy.ProxyConfigurationRegistry;
3735
import io.quarkus.rest.client.reactive.QuarkusRestClientBuilder;
3836
import io.quarkus.restclient.config.RestClientsConfig;
3937
import io.quarkus.restclient.config.RestClientsConfig.RestClientConfig;
@@ -205,17 +203,17 @@ private void configureProxy(QuarkusRestClientBuilder builder) {
205203
final ProxyConfigurationRegistry registry = Arc.container().select(ProxyConfigurationRegistry.class).get();
206204
final Optional<String> proxyConfigurationName = restClientConfig.proxyConfigurationName()
207205
.or(() -> configRoot.proxyConfigurationName());
208-
registry.getProxyConfig(proxyConfigurationName, NoneReturnValue.NONE_INSTANCE)
209-
.map(NamedProxyConfig::assertHttpType)
206+
registry.get(proxyConfigurationName)
207+
.map(ProxyConfiguration::assertHttpType)
210208
.ifPresent(proxyConfig -> {
211-
builder.proxyAddress(proxyConfig.host().get(), proxyConfig.port().getAsInt());
212-
registry.getUsernamePassword(proxyConfig).ifPresent(creds -> {
213-
builder.proxyUser(creds.getUsername());
214-
builder.proxyPassword(creds.getPassword());
215-
});
209+
builder.proxyAddress(proxyConfig.host(), proxyConfig.port());
210+
if (proxyConfig.username().isPresent() && proxyConfig.password().isPresent()) {
211+
builder.proxyUser(proxyConfig.username().get());
212+
builder.proxyPassword(proxyConfig.password().get());
213+
}
216214
proxyConfig.nonProxyHosts().ifPresent(nonProxyHosts -> {
217215
if (!nonProxyHosts.isEmpty()) {
218-
builder.nonProxyHosts(nonProxyHosts.stream().collect(Collectors.joining(",")));
216+
builder.nonProxyHosts(String.join(",", nonProxyHosts));
219217
}
220218
});
221219
proxyConfig.proxyConnectTimeout().ifPresent(builder::proxyConnectTimeout);

0 commit comments

Comments
 (0)