Polish
This commit is contained in:
@@ -43,18 +43,18 @@ import org.springframework.web.util.UriBuilderFactory;
|
||||
* @since 5.0
|
||||
*/
|
||||
final class DefaultWebClientBuilder implements WebClient.Builder {
|
||||
private static final boolean jettyHttpClientPresent;
|
||||
|
||||
private static final boolean reactorNettyHttpClientPresent;
|
||||
private static final boolean reactorClientPresent;
|
||||
|
||||
private static final boolean jettyClientPresent;
|
||||
|
||||
static {
|
||||
ClassLoader classLoader = DefaultWebClientBuilder.class.getClassLoader();
|
||||
jettyHttpClientPresent = ClassUtils.isPresent(
|
||||
"org.eclipse.jetty.client.HttpClient", classLoader);
|
||||
reactorNettyHttpClientPresent = ClassUtils.isPresent(
|
||||
"reactor.netty.http.client.HttpClient", classLoader);
|
||||
ClassLoader loader = DefaultWebClientBuilder.class.getClassLoader();
|
||||
reactorClientPresent = ClassUtils.isPresent("reactor.netty.http.client.HttpClient", loader);
|
||||
jettyClientPresent = ClassUtils.isPresent("org.eclipse.jetty.client.HttpClient", loader);
|
||||
}
|
||||
|
||||
|
||||
@Nullable
|
||||
private String baseUrl;
|
||||
|
||||
@@ -228,7 +228,9 @@ final class DefaultWebClientBuilder implements WebClient.Builder {
|
||||
|
||||
@Override
|
||||
public WebClient build() {
|
||||
ExchangeFunction exchange = initExchangeFunction();
|
||||
ExchangeFunction exchange = (this.exchangeFunction == null ?
|
||||
ExchangeFunctions.create(getOrInitConnector(), this.exchangeStrategies) :
|
||||
this.exchangeFunction);
|
||||
ExchangeFunction filteredExchange = (this.filters != null ? this.filters.stream()
|
||||
.reduce(ExchangeFilterFunction::andThen)
|
||||
.map(filter -> filter.apply(exchange))
|
||||
@@ -239,23 +241,14 @@ final class DefaultWebClientBuilder implements WebClient.Builder {
|
||||
this.defaultRequest, new DefaultWebClientBuilder(this));
|
||||
}
|
||||
|
||||
private ExchangeFunction initExchangeFunction() {
|
||||
if (this.exchangeFunction != null) {
|
||||
return this.exchangeFunction;
|
||||
private ClientHttpConnector getOrInitConnector() {
|
||||
if (this.connector != null) {
|
||||
return this.connector;
|
||||
}
|
||||
else if (this.connector != null) {
|
||||
return ExchangeFunctions.create(this.connector, this.exchangeStrategies);
|
||||
}
|
||||
else {
|
||||
return ExchangeFunctions.create(createDefaultClientHttpConnector(), this.exchangeStrategies);
|
||||
}
|
||||
}
|
||||
|
||||
private ClientHttpConnector createDefaultClientHttpConnector() {
|
||||
if (reactorNettyHttpClientPresent) {
|
||||
else if (reactorClientPresent) {
|
||||
return new ReactorClientHttpConnector();
|
||||
}
|
||||
else if (jettyHttpClientPresent) {
|
||||
else if (jettyClientPresent) {
|
||||
return new JettyClientHttpConnector();
|
||||
}
|
||||
throw new IllegalStateException("No suitable default ClientHttpConnector found");
|
||||
|
||||
Reference in New Issue
Block a user