Package io.vertx.ext.web.client

## Interface CachingWebClient

-     public interface CachingWebClient

  An asynchronous cache aware HTTP / HTTP/2 client called `CachingWebClient`.

  This client wraps a `WebClient` and makes it cache aware by adding features to it:

  - Cache-Control header parsing
  - Freshness checking

  The client honors the following cache headers:

  - Cache-Control with the following properties understood:
    - public
    - private
    - no-cache
    - no-store
    - max-age
    - s-maxage
    - stale-if-error
    - staile-while-revalidate
    - must-revalidate
  - Expires
  - ETag
  - Vary

  Author:
    Craig Day

- - ### Method Summary

    Static Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static WebClient` | `create​(WebClient webClient)` | Create a cache aware web client using the provided `WebClient`.
    `static WebClient` | `create​(WebClient webClient, CachingWebClientOptions options)` | Create a cache aware web client using the provided `WebClient`.
    `static WebClient` | `create​(WebClient webClient, CacheStore cacheStore)` | Create a cache aware web client using the provided `WebClient`.
    `static WebClient` | `create​(WebClient webClient, CacheStore cacheStore, CachingWebClientOptions options)` | Create a cache aware web client using the provided `WebClient`.

- - ### Method Detail

    - #### create

          static WebClient create​(WebClient webClient)

      Create a cache aware web client using the provided `WebClient`.
      Parameters:
        `webClient` - the web client instance
      Returns:
        the created web client

    - #### create

          static WebClient create​(WebClient webClient,
                                  CacheStore cacheStore)

      Create a cache aware web client using the provided `WebClient`.
      Parameters:
        `webClient` - the web client instance
        `cacheStore` - the cache adapter
      Returns:
        the created web client

    - #### create

          static WebClient create​(WebClient webClient,
                                  CachingWebClientOptions options)

      Create a cache aware web client using the provided `WebClient`.
      Parameters:
        `webClient` - the web client instance
        `options` - the caching web client options
      Returns:
        the created web client

    - #### create

          static WebClient create​(WebClient webClient,
                                  CacheStore cacheStore,
                                  CachingWebClientOptions options)

      Create a cache aware web client using the provided `WebClient`.
      Parameters:
        `webClient` - the web client instance
        `cacheStore` - the cache adapter
        `options` - the caching web client options
      Returns:
        the created web client