io.vertx.ext.web.client

## Interface WebClient

- All Known Subinterfaces:
    WebClientSession

      public interface WebClient

  An asynchronous HTTP / HTTP/2 client called `WebClient`.

  The web client makes easy to do HTTP request/response interactions with a web server, and provides advanced features like:

  - Json body encoding / decoding
  - request/response pumping
  - error handling

  The web client does not deprecate the `HttpClient`, it is actually based on it and therefore inherits its configuration and great features like pooling. The `HttpClient` should be used when fine grained control over the HTTP requests/response is necessary.

  Author:
    Julien Viet

- - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `close()` Close the client.
    `static WebClient` | `create(Vertx vertx)` Create a web client using the provided `vertx` instance and default options.
    `static WebClient` | `create(Vertx vertx, WebClientOptions options)` Create a web client using the provided `vertx` instance.
    `HttpRequest<Buffer>` | `delete(int port, String host, String requestURI)` Create an HTTP DELETE request to send to the server at the specified host and port.
    `HttpRequest<Buffer>` | `delete(String requestURI)` Create an HTTP DELETE request to send to the server at the default host and port.
    `HttpRequest<Buffer>` | `delete(String host, String requestURI)` Create an HTTP DELETE request to send to the server at the specified host and default port.
    `HttpRequest<Buffer>` | `deleteAbs(String absoluteURI)` Create an HTTP DELETE request to send to the server using an absolute URI, specifying a response handler to receive the response
    `HttpRequest<Buffer>` | `get(int port, String host, String requestURI)` Create an HTTP GET request to send to the server at the specified host and port.
    `HttpRequest<Buffer>` | `get(String requestURI)` Create an HTTP GET request to send to the server at the default host and port.
    `HttpRequest<Buffer>` | `get(String host, String requestURI)` Create an HTTP GET request to send to the server at the specified host and default port.
    `HttpRequest<Buffer>` | `getAbs(String absoluteURI)` Create an HTTP GET request to send to the server using an absolute URI, specifying a response handler to receive the response
    `HttpRequest<Buffer>` | `head(int port, String host, String requestURI)` Create an HTTP HEAD request to send to the server at the specified host and port.
    `HttpRequest<Buffer>` | `head(String requestURI)` Create an HTTP HEAD request to send to the server at the default host and port.
    `HttpRequest<Buffer>` | `head(String host, String requestURI)` Create an HTTP HEAD request to send to the server at the specified host and default port.
    `HttpRequest<Buffer>` | `headAbs(String absoluteURI)` Create an HTTP HEAD request to send to the server using an absolute URI, specifying a response handler to receive the response
    `HttpRequest<Buffer>` | `patch(int port, String host, String requestURI)` Create an HTTP PATCH request to send to the server at the specified host and port.
    `HttpRequest<Buffer>` | `patch(String requestURI)` Create an HTTP PATCH request to send to the server at the default host and port.
    `HttpRequest<Buffer>` | `patch(String host, String requestURI)` Create an HTTP PATCH request to send to the server at the specified host and default port.
    `HttpRequest<Buffer>` | `patchAbs(String absoluteURI)` Create an HTTP PATCH request to send to the server using an absolute URI, specifying a response handler to receive the response
    `HttpRequest<Buffer>` | `post(int port, String host, String requestURI)` Create an HTTP POST request to send to the server at the specified host and port.
    `HttpRequest<Buffer>` | `post(String requestURI)` Create an HTTP POST request to send to the server at the default host and port.
    `HttpRequest<Buffer>` | `post(String host, String requestURI)` Create an HTTP POST request to send to the server at the specified host and default port.
    `HttpRequest<Buffer>` | `postAbs(String absoluteURI)` Create an HTTP POST request to send to the server using an absolute URI, specifying a response handler to receive the response
    `HttpRequest<Buffer>` | `put(int port, String host, String requestURI)` Create an HTTP PUT request to send to the server at the specified host and port.
    `HttpRequest<Buffer>` | `put(String requestURI)` Create an HTTP PUT request to send to the server at the default host and port.
    `HttpRequest<Buffer>` | `put(String host, String requestURI)` Create an HTTP PUT request to send to the server at the specified host and default port.
    `HttpRequest<Buffer>` | `putAbs(String absoluteURI)` Create an HTTP PUT request to send to the server using an absolute URI, specifying a response handler to receive the response
    `HttpRequest<Buffer>` | `raw(String customHttpMethod, int port, String host, String requestURI)` Create a request with a custom HTTP method to send to the server at the specified host and port.
    `HttpRequest<Buffer>` | `raw(String customHttpMethod, String requestURI)` Create a request with a custom HTTP method to send to the server at the default host and port.
    `HttpRequest<Buffer>` | `raw(String customHttpMethod, String host, String requestURI)` Create a request with a custom HTTP method to send to the server at the specified host and default port.
    `HttpRequest<Buffer>` | `rawAbs(String customHttpMethod, String absoluteURI)` Create a request with a custom HTTP method to send to the server using an absolute URI, specifying a response handler to receive the response
    `HttpRequest<Buffer>` | `request(HttpMethod method, int port, String host, String requestURI)` Create an HTTP request to send to the server at the specified host and port.
    `HttpRequest<Buffer>` | `request(HttpMethod method, RequestOptions options)` Create an HTTP request to send to the server at the specified host and port.
    `HttpRequest<Buffer>` | `request(HttpMethod method, SocketAddress serverAddress, int port, String host, String requestURI)` Like `request(HttpMethod, int, String, String)` using the `serverAddress` parameter to connect to the server instead of the `port` and `host` parameters.
    `HttpRequest<Buffer>` | `request(HttpMethod method, SocketAddress serverAddress, RequestOptions options)` Like `request(HttpMethod, RequestOptions)` using the `serverAddress` parameter to connect to the server instead of the `options` parameter.
    `HttpRequest<Buffer>` | `request(HttpMethod method, SocketAddress serverAddress, String requestURI)` Like `request(HttpMethod, String)` using the `serverAddress` parameter to connect to the server instead of the default port and default host.
    `HttpRequest<Buffer>` | `request(HttpMethod method, SocketAddress serverAddress, String host, String requestURI)` Like `request(HttpMethod, String, String)` using the `serverAddress` parameter to connect to the server instead of the default port and `host` parameter.
    `HttpRequest<Buffer>` | `request(HttpMethod method, String requestURI)` Create an HTTP request to send to the server at the default host and port.
    `HttpRequest<Buffer>` | `request(HttpMethod method, String host, String requestURI)` Create an HTTP request to send to the server at the specified host and default port.
    `HttpRequest<Buffer>` | `requestAbs(HttpMethod method, SocketAddress serverAddress, String absoluteURI)` Like `requestAbs(HttpMethod, String)` using the `serverAddress` parameter to connect to the server instead of the `absoluteURI` parameter.
    `HttpRequest<Buffer>` | `requestAbs(HttpMethod method, String absoluteURI)` Create an HTTP request to send to the server using an absolute URI
    `static WebClient` | `wrap(HttpClient httpClient)` Wrap an `httpClient` with a web client and default options.
    `static WebClient` | `wrap(HttpClient httpClient, WebClientOptions options)` Wrap an `httpClient` with a web client and default options.

- - ### Method Detail

    - #### create

          static WebClient create(Vertx vertx)

      Create a web client using the provided `vertx` instance and default options.
      Parameters:
        `vertx` - the vertx instance
      Returns:
        the created web client

    - #### create

          static WebClient create(Vertx vertx,
                                  WebClientOptions options)

      Create a web client using the provided `vertx` instance.
      Parameters:
        `vertx` - the vertx instance
        `options` - the Web Client options
      Returns:
        the created web client

    - #### wrap

          static WebClient wrap(HttpClient httpClient)

      Wrap an `httpClient` with a web client and default options.
      Parameters:
        `httpClient` - the `HttpClient` to wrap
      Returns:
        the web client

    - #### wrap

          static WebClient wrap(HttpClient httpClient,
                                WebClientOptions options)

      Wrap an `httpClient` with a web client and default options.

      Only the specific web client portion of the `options` is used, the `HttpClientOptions` of the `httpClient` is reused.

      Parameters:
        `httpClient` - the `HttpClient` to wrap
        `options` - the Web Client options
      Returns:
        the web client

    - #### request

          HttpRequest<Buffer> request(HttpMethod method,
                                      int port,
                                      String host,
                                      String requestURI)

      Create an HTTP request to send to the server at the specified host and port.
      Parameters:
        `method` - the HTTP method
        `port` - the port
        `host` - the host
        `requestURI` - the relative URI
      Returns:
        an HTTP client request object

    - #### request

          HttpRequest<Buffer> request(HttpMethod method,
                                      SocketAddress serverAddress,
                                      int port,
                                      String host,
                                      String requestURI)

      Like `request(HttpMethod, int, String, String)` using the `serverAddress` parameter to connect to the server instead of the `port` and `host` parameters.

      The request host header will still be created from the `port` and `host` parameters.

      Use `SocketAddress.domainSocketAddress(String)` to connect to a unix domain socket server.

    - #### request

          HttpRequest<Buffer> request(HttpMethod method,
                                      String host,
                                      String requestURI)

      Create an HTTP request to send to the server at the specified host and default port.
      Parameters:
        `method` - the HTTP method
        `host` - the host
        `requestURI` - the relative URI
      Returns:
        an HTTP client request object

    - #### request

          HttpRequest<Buffer> request(HttpMethod method,
                                      SocketAddress serverAddress,
                                      String host,
                                      String requestURI)

      Like `request(HttpMethod, String, String)` using the `serverAddress` parameter to connect to the server instead of the default port and `host` parameter.

      The request host header will still be created from the default port and `host` parameter.

      Use `SocketAddress.domainSocketAddress(String)` to connect to a unix domain socket server.

    - #### request

          HttpRequest<Buffer> request(HttpMethod method,
                                      String requestURI)

      Create an HTTP request to send to the server at the default host and port.
      Parameters:
        `method` - the HTTP method
        `requestURI` - the relative URI
      Returns:
        an HTTP client request object

    - #### request

          HttpRequest<Buffer> request(HttpMethod method,
                                      SocketAddress serverAddress,
                                      String requestURI)

      Like `request(HttpMethod, String)` using the `serverAddress` parameter to connect to the server instead of the default port and default host.

      The request host header will still be created from the default port and default host.

      Use `SocketAddress.domainSocketAddress(String)` to connect to a unix domain socket server.

    - #### request

          HttpRequest<Buffer> request(HttpMethod method,
                                      RequestOptions options)

      Create an HTTP request to send to the server at the specified host and port.
      Parameters:
        `method` - the HTTP method
        `options` - the request options
      Returns:
        an HTTP client request object

    - #### request

          HttpRequest<Buffer> request(HttpMethod method,
                                      SocketAddress serverAddress,
                                      RequestOptions options)

      Like `request(HttpMethod, RequestOptions)` using the `serverAddress` parameter to connect to the server instead of the `options` parameter.

      The request host header will still be created from the `options` parameter.

      Use `SocketAddress.domainSocketAddress(String)` to connect to a unix domain socket server.

    - #### requestAbs

          HttpRequest<Buffer> requestAbs(HttpMethod method,
                                         String absoluteURI)

      Create an HTTP request to send to the server using an absolute URI
      Parameters:
        `method` - the HTTP method
        `absoluteURI` - the absolute URI
      Returns:
        an HTTP client request object

    - #### requestAbs

          HttpRequest<Buffer> requestAbs(HttpMethod method,
                                         SocketAddress serverAddress,
                                         String absoluteURI)

      Like `requestAbs(HttpMethod, String)` using the `serverAddress` parameter to connect to the server instead of the `absoluteURI` parameter.

      The request host header will still be created from the `absoluteURI` parameter.

      Use `SocketAddress.domainSocketAddress(String)` to connect to a unix domain socket server.

    - #### get

          HttpRequest<Buffer> get(String requestURI)

      Create an HTTP GET request to send to the server at the default host and port.
      Parameters:
        `requestURI` - the relative URI
      Returns:
        an HTTP client request object

    - #### get

          HttpRequest<Buffer> get(int port,
                                  String host,
                                  String requestURI)

      Create an HTTP GET request to send to the server at the specified host and port.
      Parameters:
        `port` - the port
        `host` - the host
        `requestURI` - the relative URI
      Returns:
        an HTTP client request object

    - #### get

          HttpRequest<Buffer> get(String host,
                                  String requestURI)

      Create an HTTP GET request to send to the server at the specified host and default port.
      Parameters:
        `host` - the host
        `requestURI` - the relative URI
      Returns:
        an HTTP client request object

    - #### getAbs

          HttpRequest<Buffer> getAbs(String absoluteURI)

      Create an HTTP GET request to send to the server using an absolute URI, specifying a response handler to receive the response
      Parameters:
        `absoluteURI` - the absolute URI
      Returns:
        an HTTP client request object

    - #### post

          HttpRequest<Buffer> post(String requestURI)

      Create an HTTP POST request to send to the server at the default host and port.
      Parameters:
        `requestURI` - the relative URI
      Returns:
        an HTTP client request object

    - #### post

          HttpRequest<Buffer> post(int port,
                                   String host,
                                   String requestURI)

      Create an HTTP POST request to send to the server at the specified host and port.
      Parameters:
        `port` - the port
        `host` - the host
        `requestURI` - the relative URI
      Returns:
        an HTTP client request object

    - #### post

          HttpRequest<Buffer> post(String host,
                                   String requestURI)

      Create an HTTP POST request to send to the server at the specified host and default port.
      Parameters:
        `host` - the host
        `requestURI` - the relative URI
      Returns:
        an HTTP client request object

    - #### postAbs

          HttpRequest<Buffer> postAbs(String absoluteURI)

      Create an HTTP POST request to send to the server using an absolute URI, specifying a response handler to receive the response
      Parameters:
        `absoluteURI` - the absolute URI
      Returns:
        an HTTP client request object

    - #### put

          HttpRequest<Buffer> put(String requestURI)

      Create an HTTP PUT request to send to the server at the default host and port.
      Parameters:
        `requestURI` - the relative URI
      Returns:
        an HTTP client request object

    - #### put

          HttpRequest<Buffer> put(int port,
                                  String host,
                                  String requestURI)

      Create an HTTP PUT request to send to the server at the specified host and port.
      Parameters:
        `port` - the port
        `host` - the host
        `requestURI` - the relative URI
      Returns:
        an HTTP client request object

    - #### put

          HttpRequest<Buffer> put(String host,
                                  String requestURI)

      Create an HTTP PUT request to send to the server at the specified host and default port.
      Parameters:
        `host` - the host
        `requestURI` - the relative URI
      Returns:
        an HTTP client request object

    - #### putAbs

          HttpRequest<Buffer> putAbs(String absoluteURI)

      Create an HTTP PUT request to send to the server using an absolute URI, specifying a response handler to receive the response
      Parameters:
        `absoluteURI` - the absolute URI
      Returns:
        an HTTP client request object

    - #### delete

          HttpRequest<Buffer> delete(String requestURI)

      Create an HTTP DELETE request to send to the server at the default host and port.
      Parameters:
        `requestURI` - the relative URI
      Returns:
        an HTTP client request object

    - #### delete

          HttpRequest<Buffer> delete(int port,
                                     String host,
                                     String requestURI)

      Create an HTTP DELETE request to send to the server at the specified host and port.
      Parameters:
        `port` - the port
        `host` - the host
        `requestURI` - the relative URI
      Returns:
        an HTTP client request object

    - #### delete

          HttpRequest<Buffer> delete(String host,
                                     String requestURI)

      Create an HTTP DELETE request to send to the server at the specified host and default port.
      Parameters:
        `host` - the host
        `requestURI` - the relative URI
      Returns:
        an HTTP client request object

    - #### deleteAbs

          HttpRequest<Buffer> deleteAbs(String absoluteURI)

      Create an HTTP DELETE request to send to the server using an absolute URI, specifying a response handler to receive the response
      Parameters:
        `absoluteURI` - the absolute URI
      Returns:
        an HTTP client request object

    - #### patch

          HttpRequest<Buffer> patch(String requestURI)

      Create an HTTP PATCH request to send to the server at the default host and port.
      Parameters:
        `requestURI` - the relative URI
      Returns:
        an HTTP client request object

    - #### patch

          HttpRequest<Buffer> patch(int port,
                                    String host,
                                    String requestURI)

      Create an HTTP PATCH request to send to the server at the specified host and port.
      Parameters:
        `port` - the port
        `host` - the host
        `requestURI` - the relative URI
      Returns:
        an HTTP client request object

    - #### patch

          HttpRequest<Buffer> patch(String host,
                                    String requestURI)

      Create an HTTP PATCH request to send to the server at the specified host and default port.
      Parameters:
        `host` - the host
        `requestURI` - the relative URI
      Returns:
        an HTTP client request object

    - #### patchAbs

          HttpRequest<Buffer> patchAbs(String absoluteURI)

      Create an HTTP PATCH request to send to the server using an absolute URI, specifying a response handler to receive the response
      Parameters:
        `absoluteURI` - the absolute URI
      Returns:
        an HTTP client request object

    - #### head

          HttpRequest<Buffer> head(String requestURI)

      Create an HTTP HEAD request to send to the server at the default host and port.
      Parameters:
        `requestURI` - the relative URI
      Returns:
        an HTTP client request object

    - #### head

          HttpRequest<Buffer> head(int port,
                                   String host,
                                   String requestURI)

      Create an HTTP HEAD request to send to the server at the specified host and port.
      Parameters:
        `port` - the port
        `host` - the host
        `requestURI` - the relative URI
      Returns:
        an HTTP client request object

    - #### head

          HttpRequest<Buffer> head(String host,
                                   String requestURI)

      Create an HTTP HEAD request to send to the server at the specified host and default port.
      Parameters:
        `host` - the host
        `requestURI` - the relative URI
      Returns:
        an HTTP client request object

    - #### headAbs

          HttpRequest<Buffer> headAbs(String absoluteURI)

      Create an HTTP HEAD request to send to the server using an absolute URI, specifying a response handler to receive the response
      Parameters:
        `absoluteURI` - the absolute URI
      Returns:
        an HTTP client request object

    - #### raw

          HttpRequest<Buffer> raw(String customHttpMethod,
                                  String requestURI)

      Create a request with a custom HTTP method to send to the server at the default host and port.
      Parameters:
        `customHttpMethod` - custom HTTP Method
        `requestURI` - the relative URI
      Returns:
        an HTTP client request object

    - #### raw

          HttpRequest<Buffer> raw(String customHttpMethod,
                                  int port,
                                  String host,
                                  String requestURI)

      Create a request with a custom HTTP method to send to the server at the specified host and port.
      Parameters:
        `customHttpMethod` - custom HTTP Method
        `port` - the port
        `host` - the host
        `requestURI` - the relative URI
      Returns:
        an HTTP client request object

    - #### raw

          HttpRequest<Buffer> raw(String customHttpMethod,
                                  String host,
                                  String requestURI)

      Create a request with a custom HTTP method to send to the server at the specified host and default port.
      Parameters:
        `customHttpMethod` - custom HTTP Method
        `host` - the host
        `requestURI` - the relative URI
      Returns:
        an HTTP client request object

    - #### rawAbs

          HttpRequest<Buffer> rawAbs(String customHttpMethod,
                                     String absoluteURI)

      Create a request with a custom HTTP method to send to the server using an absolute URI, specifying a response handler to receive the response
      Parameters:
        `customHttpMethod` - custom HTTP Method
        `absoluteURI` - the absolute URI
      Returns:
        an HTTP client request object

    - #### close

          void close()

      Close the client. Closing will close down any pooled connections. Clients should always be closed after use.

Copyright © 2021 Eclipse. All rights reserved.