@Override public Builder mutate() { return new DefaultWebClientBuilder(this.builder); }
/** * Obtain a {@code WebClient} builder. */ static WebClient.Builder builder() { return new DefaultWebClientBuilder(); }
@Override public WebClient.Builder clone() { return new DefaultWebClientBuilder(this); }
/** * Create a new {@code WebClient} with Reactor Netty by default. * @see #create(String) * @see #builder() */ static WebClient create() { return new DefaultWebClientBuilder().build(); }
@Override public WebClient build() { ExchangeFunction exchange = initExchangeFunction(); ExchangeFunction filteredExchange = (this.filters != null ? this.filters.stream() .reduce(ExchangeFilterFunction::andThen) .map(filter -> filter.apply(exchange)) .orElse(exchange) : exchange); return new DefaultWebClient(filteredExchange, initUriBuilderFactory(), this.defaultHeaders != null ? unmodifiableCopy(this.defaultHeaders) : null, this.defaultCookies != null ? unmodifiableCopy(this.defaultCookies) : null, this.defaultRequest, new DefaultWebClientBuilder(this)); }
/** * Variant of {@link #create()} that accepts a default base URL. For more * details see {@link Builder#baseUrl(String) Builder.baseUrl(String)}. * @param baseUrl the base URI for all requests * @see #builder() */ static WebClient create(String baseUrl) { return new DefaultWebClientBuilder().baseUrl(baseUrl).build(); }
/** * Return a builder for a {@code WebClient}. * @param connector the connector to create connections * @return a web client builder */ static Builder builder(ClientHttpConnector connector) { Assert.notNull(connector, "'connector' must not be null"); return new DefaultWebClientBuilder(connector); }