anchor.diff:  [[webflux-client-builder-reactor]]
   === Reactor Netty
   
  -You can customize Reactor Netty settings:
  +To customize Reactor Netty settings, simple provide a pre-configured `HttpClient`:
   
   ====
   [source,java,intent=0]
   [subs="verbatim,quotes"]
   ----
   	HttpClient httpClient = HttpClient.create().secure(sslSpec -> ...);
  -	ClientHttpConnector connector = new ReactorClientHttpConnector(httpClient);
  -
  -	WebClient webClient = WebClient.builder().clientConnector(connector).build();
  -----
  -====
  +
  +	WebClient webClient = WebClient.builder()
  +			.clientConnector(new ReactorClientHttpConnector(httpClient))
  +			.build();
  +----
  +====
  +
  +
  +[[webflux-client-builder-reactor-resources]]
  +==== Resources
   
   By default, `HttpClient` participates in the global Reactor Netty resources held in
   `reactor.netty.http.HttpResources`, including event loop threads and a connection pool.
  
positive.code: * `WebClient.create()`
  * `WebClient.create(String baseUrl)`
  
  The preceding methods use Reactor Netty `HttpClient` from `io.projectreactor.netty:reactor-netty`
  with default settings and participates in global resources for event loop threads and
  a connection pool. See <<webflux-client-builder-reactor, Reactor Netty configuration>>.
  
  You can use the `WebClient.Builder` for access to further options:
  
  * `uriBuilderFactory`: Customized `UriBuilderFactory` to use as a base URL.
  * `defaultHeader`: Headers for every request.
  * `defaultCookie)`: Cookies for every request.
  * `defaultRequest`: `Consumer` to customize every request.
  * `filter`: Client filter for every request.
  * `exchangeStrategies`: HTTP message reader/writer customizations.
  
negative.code: 
  
  [[webflux-client-exchange]]
  == Using `exchange()`
  
  The `exchange()` method provides more control than the `retrieve` method. The following example is equivalent
  to `retrieve()` but also provides access to the `ClientResponse`:
  