Package io.vertx.ext.web.client

## Interface WebClientSession

- All Superinterfaces:
    `WebClient`

      public interface WebClientSession
      extends WebClient

  An asynchronous sessions aware HTTP / HTTP/2 client called `WebClientSession`.

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

  - Per client headers, to be send with every request
  - Per client cookies, to be send with every request
  - Automatic storage and sending of cookies received from the server(s)

  The client honors the cookies attributes:

  - domain
  - path
  - secure
  - max-age and expires

  Author:
    Tommaso Nolli

- - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `WebClientSession` | `addHeader​(CharSequence name, CharSequence value)` | Configure the client to add an HTTP header to every request.
    `WebClientSession` | `addHeader​(CharSequence name, Iterable<CharSequence> values)` | Configure the client to add an HTTP header to every request.
    `WebClientSession` | `addHeader​(String name, Iterable<String> values)` | Configure the client to add an HTTP header to every request.
    `WebClientSession` | `addHeader​(String name, String value)` | Configure the client to add an HTTP header to every request.
    `CookieStore` | `cookieStore()` | Returns this client's `CookieStore`
    `static WebClientSession` | `create​(WebClient webClient)` | Create a session aware web client using the provided `webClient` instance.
    `static WebClientSession` | `create​(WebClient webClient, CookieStore cookieStore)` | Create a session aware web client using the provided `webClient` instance.
    `WebClientSession` | `removeHeader​(CharSequence name)` | Removes a previously added header.
    `WebClientSession` | `removeHeader​(String name)` | Removes a previously added header.

    - ### Methods inherited from interface io.vertx.ext.web.client.WebClient

      `close, delete, delete, delete, delete, delete, delete, deleteAbs, deleteAbs, get, get, get, get, get, get, getAbs, getAbs, head, head, head, head, head, head, headAbs, headAbs, patch, patch, patch, patch, patch, patch, patchAbs, patchAbs, post, post, post, post, post, post, postAbs, postAbs, put, put, put, put, put, put, putAbs, putAbs, request, request, request, request, request, request, request, request, request, request, request, request, request, request, requestAbs, requestAbs, requestAbs, requestAbs, updateSSLOptions, updateSSLOptions`

- - ### Method Detail

    - #### create

          static WebClientSession create​(WebClient webClient)

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

    - #### create

          static WebClientSession create​(WebClient webClient,
                                         CookieStore cookieStore)

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

    - #### addHeader

          WebClientSession addHeader​(CharSequence name,
                                     CharSequence value)

      Configure the client to add an HTTP header to every request.
      Parameters:
        `name` - the header name
        `value` - the header value
      Returns:
        a reference to this, so the API can be used fluently

    - #### addHeader

          WebClientSession addHeader​(String name,
                                     String value)

      Configure the client to add an HTTP header to every request.
      Parameters:
        `name` - the header name
        `value` - the header value
      Returns:
        a reference to this, so the API can be used fluently

    - #### addHeader

          WebClientSession addHeader​(CharSequence name,
                                     Iterable<CharSequence> values)

      Configure the client to add an HTTP header to every request.
      Parameters:
        `name` - the header name
        `values` - the header value
      Returns:
        a reference to this, so the API can be used fluently

    - #### addHeader

          WebClientSession addHeader​(String name,
                                     Iterable<String> values)

      Configure the client to add an HTTP header to every request.
      Parameters:
        `name` - the header name
        `values` - the header value
      Returns:
        a reference to this, so the API can be used fluently

    - #### removeHeader

          WebClientSession removeHeader​(CharSequence name)

      Removes a previously added header.
      Parameters:
        `name` - the header name
      Returns:
        a reference to this, so the API can be used fluently

    - #### removeHeader

          WebClientSession removeHeader​(String name)

      Removes a previously added header.
      Parameters:
        `name` - the header name
      Returns:
        a reference to this, so the API can be used fluently

    - #### cookieStore

          CookieStore cookieStore()

      Returns this client's `CookieStore`

      All cookies added to this store will be sent with every request. The CookieStore honors the domain, path, secure and max-age properties of received cookies and is automatically updated with cookies present in responses received by this client.

      Returns:
        this client's cookie store