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 Default Methods
    Modifier and Type | Method and 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, create, create, 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, wrap, wrap`

- - ### 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

Copyright © 2023 Eclipse. All rights reserved.