{title:'Customizing HttpClient', created:'8.2.0', updated:'9.0.0'}

Several methods are provided for customizing the underlying HTTP client and client builder classes:

- {@link oajrc.RestClient.Builder}
  - {@link oajrc.RestClient.Builder#httpClientBuilder(HttpClientBuilder) httpClientBuilder(HttpClientBuilder)} - Set the client builder yourself.
  - {@link oajrc.RestClient.Builder#createHttpClientBuilder() createHttpClientBuilder()} - Override to create the client builder.
  - {@link oajrc.RestClient.Builder#createHttpClient() createHttpClient()} - Override to create the client.
  - {@link oajrc.RestClient.Builder#createConnectionManager() createConnectionManager()} - Override to create the connection management.

Additionally, all methods on the HttpClientBuilder class have been extended with fluent setters.

##### Example:

| // Create a client with customized HttpClient settings. | MyBean bean = RestClient | .create() | .disableRedirectHandling() | .connectionManager(myConnectionManager) | .addInterceptorFirst(myHttpRequestInterceptor) | .build();

Refer to the {@code org.apache.http.client.impl.HttpClientBuilder} docs for more information.