Class WebClient

java.lang.Object
io.vertx.reactivex.ext.web.client.WebClient
All Implemented Interfaces:
io.vertx.lang.rx.RxDelegate
Direct Known Subclasses:
OAuth2WebClient, WebClientSession

public class WebClient extends Object implements io.vertx.lang.rx.RxDelegate
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 , 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.

NOTE: This class has been automatically generated from the original non RX-ified interface using Vert.x codegen.

  • Field Details

    • __TYPE_ARG

      public static final io.vertx.lang.rx.TypeArg<WebClient> __TYPE_ARG
  • Constructor Details

    • WebClient

      public WebClient(WebClient delegate)
    • WebClient

      public WebClient(Object delegate)
  • Method Details

    • toString

      public String toString()
      Overrides:
      toString in class Object
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • getDelegate

      public WebClient getDelegate()
      Specified by:
      getDelegate in interface io.vertx.lang.rx.RxDelegate
    • create

      public 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

      public static WebClient create(Vertx vertx, WebClientOptions options)
      Create a web client using the provided vertx instance and default pooling options.
      Parameters:
      vertx - the vertx instance
      options - the Web Client options
      Returns:
      the created web client
    • create

      public static WebClient create(Vertx vertx, WebClientOptions options, PoolOptions poolOptions)
      Create a web client using the provided vertx instance.
      Parameters:
      vertx - the vertx instance
      options - the Web Client options
      poolOptions - the HTTP Client pool options
      Returns:
      the created web client
    • create

      public static WebClient create(Vertx vertx, WebClientConfig config)
      Create a web client using the provided vertx instance and default pooling options.
      Parameters:
      vertx - the vertx instance
      config - the Web Client config
      Returns:
      the created web client
    • create

      public static WebClient create(Vertx vertx, WebClientConfig config, PoolOptions poolOptions)
      Create a web client using the provided vertx instance.
      Parameters:
      vertx - the vertx instance
      config - the Web Client config
      poolOptions - the HTTP Client pool options
      Returns:
      the created web client
    • create

      public static WebClient create(Vertx vertx, WebClientConfig config, ClientSSLOptions sslOptions)
      Create a web client using the provided vertx instance, SSL options and default pooling options.
      Parameters:
      vertx - the vertx instance
      config - the Web Client config
      sslOptions - the SSL options
      Returns:
      the created web client
    • create

      public static WebClient create(Vertx vertx, WebClientConfig config, ClientSSLOptions sslOptions, PoolOptions poolOptions)
      Create a web client using the provided vertx instance and SSL options.
      Parameters:
      vertx - the vertx instance
      config - the Web Client config
      sslOptions - the SSL options
      poolOptions - the HTTP Client pool options
      Returns:
      the created web client
    • wrap

      public static WebClient wrap(HttpClient httpClient)
      Wrap an httpClient with a web client and default options.
      Parameters:
      httpClient - the to wrap
      Returns:
      the web client
    • wrap

      public 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 to wrap
      options - the Web Client options
      Returns:
      the web client
    • request

      public 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 request URI
      Returns:
      an HTTP client request object
    • request

      public HttpRequest<Buffer> request(HttpMethod method, int port, String host, UriTemplate 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 request URI as a
      Returns:
      an HTTP client request object
    • request

      public 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 to connect to a unix domain socket server.

      Parameters:
      method -
      serverAddress -
      port -
      host -
      requestURI -
      Returns:
    • request

      public HttpRequest<Buffer> request(HttpMethod method, SocketAddress serverAddress, int port, String host, UriTemplate 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 to connect to a unix domain socket server.

      Parameters:
      method -
      serverAddress -
      port -
      host -
      requestURI -
      Returns:
    • request

      public 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 request URI
      Returns:
      an HTTP client request object
    • request

      public HttpRequest<Buffer> request(HttpMethod method, String host, UriTemplate 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 request URI as a
      Returns:
      an HTTP client request object
    • request

      public HttpRequest<Buffer> request(HttpMethod method, SocketAddress serverAddress, String host, String requestURI)
      Like request(HttpMethod, int, 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 to connect to a unix domain socket server.

      Parameters:
      method -
      serverAddress -
      host -
      requestURI -
      Returns:
    • request

      public HttpRequest<Buffer> request(HttpMethod method, SocketAddress serverAddress, String host, UriTemplate requestURI)
      Like request(HttpMethod, int, 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 to connect to a unix domain socket server.

      Parameters:
      method -
      serverAddress -
      host -
      requestURI -
      Returns:
    • request

      public 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 request URI
      Returns:
      an HTTP client request object
    • request

      public HttpRequest<Buffer> request(HttpMethod method, UriTemplate requestURI)
      Create an HTTP request to send to the server at the default host and port.
      Parameters:
      method - the HTTP method
      requestURI - the request URI as a
      Returns:
      an HTTP client request object
    • request

      public HttpRequest<Buffer> request(HttpMethod method, SocketAddress serverAddress, String requestURI)
      Like request(HttpMethod, int, String, 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 to connect to a unix domain socket server.

      Parameters:
      method -
      serverAddress -
      requestURI -
      Returns:
    • request

      public HttpRequest<Buffer> request(HttpMethod method, SocketAddress serverAddress, UriTemplate requestURI)
      Like request(HttpMethod, int, String, 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 to connect to a unix domain socket server.

      Parameters:
      method -
      serverAddress -
      requestURI -
      Returns:
    • request

      public HttpRequest<Buffer> request(RequestOptions options)
      Create an HTTP request to send to the server from the specified request options.
      Parameters:
      options - the request options
      Returns:
      an HTTP client request object
    • request

      @Deprecated public HttpRequest<Buffer> request(HttpMethod method, RequestOptions options)
      Deprecated.
      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

      @Deprecated public HttpRequest<Buffer> request(HttpMethod method, SocketAddress serverAddress, RequestOptions options)
      Deprecated.
      Like request(HttpMethod, int, String, String) 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 to connect to a unix domain socket server.

      Parameters:
      method -
      serverAddress -
      options -
      Returns:
    • requestAbs

      public 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

      public HttpRequest<Buffer> requestAbs(HttpMethod method, UriTemplate absoluteURI)
      Create an HTTP request to send to the server using an absolute URI
      Parameters:
      method - the HTTP method
      absoluteURI - the absolute URI as a
      Returns:
      an HTTP client request object
    • requestAbs

      public 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 to connect to a unix domain socket server.

      Parameters:
      method -
      serverAddress -
      absoluteURI -
      Returns:
    • requestAbs

      public HttpRequest<Buffer> requestAbs(HttpMethod method, SocketAddress serverAddress, UriTemplate 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 to connect to a unix domain socket server.

      Parameters:
      method -
      serverAddress -
      absoluteURI -
      Returns:
    • get

      public HttpRequest<Buffer> get(String requestURI)
      Create an HTTP GET request to send to the server at the default host and port.
      Parameters:
      requestURI - the request URI
      Returns:
      an HTTP client request object
    • get

      public HttpRequest<Buffer> get(UriTemplate requestURI)
      Create an HTTP GET request to send to the server at the default host and port.
      Parameters:
      requestURI - the request URI as a
      Returns:
      an HTTP client request object
    • get

      public 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 request URI
      Returns:
      an HTTP client request object
    • get

      public HttpRequest<Buffer> get(int port, String host, UriTemplate 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 request URI as a
      Returns:
      an HTTP client request object
    • get

      public 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 request URI
      Returns:
      an HTTP client request object
    • get

      public HttpRequest<Buffer> get(String host, UriTemplate requestURI)
      Create an HTTP GET request to send to the server at the specified host and default port.
      Parameters:
      host - the host
      requestURI - the request URI as a
      Returns:
      an HTTP client request object
    • getAbs

      public 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
    • getAbs

      public HttpRequest<Buffer> getAbs(UriTemplate 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 as a
      Returns:
      an HTTP client request object
    • post

      public HttpRequest<Buffer> post(String requestURI)
      Create an HTTP POST request to send to the server at the default host and port.
      Parameters:
      requestURI - the request URI
      Returns:
      an HTTP client request object
    • post

      public HttpRequest<Buffer> post(UriTemplate requestURI)
      Create an HTTP POST request to send to the server at the default host and port.
      Parameters:
      requestURI - the request URI as a
      Returns:
      an HTTP client request object
    • post

      public 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 request URI
      Returns:
      an HTTP client request object
    • post

      public HttpRequest<Buffer> post(int port, String host, UriTemplate 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 request URI as a
      Returns:
      an HTTP client request object
    • post

      public 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 request URI
      Returns:
      an HTTP client request object
    • post

      public HttpRequest<Buffer> post(String host, UriTemplate requestURI)
      Create an HTTP POST request to send to the server at the specified host and default port.
      Parameters:
      host - the host
      requestURI - the request URI as a
      Returns:
      an HTTP client request object
    • postAbs

      public 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
    • postAbs

      public HttpRequest<Buffer> postAbs(UriTemplate 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 absoluate URI as a
      Returns:
      an HTTP client request object
    • put

      public HttpRequest<Buffer> put(String requestURI)
      Create an HTTP PUT request to send to the server at the default host and port.
      Parameters:
      requestURI - the request URI
      Returns:
      an HTTP client request object
    • put

      public HttpRequest<Buffer> put(UriTemplate requestURI)
      Create an HTTP PUT request to send to the server at the default host and port.
      Parameters:
      requestURI - the request URI as a
      Returns:
      an HTTP client request object
    • put

      public 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 request URI
      Returns:
      an HTTP client request object
    • put

      public HttpRequest<Buffer> put(int port, String host, UriTemplate 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 request URI as a
      Returns:
      an HTTP client request object
    • put

      public 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 request URI
      Returns:
      an HTTP client request object
    • put

      public HttpRequest<Buffer> put(String host, UriTemplate requestURI)
      Create an HTTP PUT request to send to the server at the specified host and default port.
      Parameters:
      host - the host
      requestURI - the request URI as a
      Returns:
      an HTTP client request object
    • putAbs

      public 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
    • putAbs

      public HttpRequest<Buffer> putAbs(UriTemplate 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 as a
      Returns:
      an HTTP client request object
    • delete

      public HttpRequest<Buffer> delete(String requestURI)
      Create an HTTP DELETE request to send to the server at the default host and port.
      Parameters:
      requestURI - the request URI
      Returns:
      an HTTP client request object
    • delete

      public HttpRequest<Buffer> delete(UriTemplate requestURI)
      Create an HTTP DELETE request to send to the server at the default host and port.
      Parameters:
      requestURI - the request URI as a
      Returns:
      an HTTP client request object
    • delete

      public 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 request URI
      Returns:
      an HTTP client request object
    • delete

      public HttpRequest<Buffer> delete(int port, String host, UriTemplate 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 request URI as a
      Returns:
      an HTTP client request object
    • delete

      public 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 request URI
      Returns:
      an HTTP client request object
    • delete

      public HttpRequest<Buffer> delete(String host, UriTemplate requestURI)
      Create an HTTP DELETE request to send to the server at the specified host and default port.
      Parameters:
      host - the host
      requestURI - the request URI as a
      Returns:
      an HTTP client request object
    • deleteAbs

      public 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
    • deleteAbs

      public HttpRequest<Buffer> deleteAbs(UriTemplate 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 as a
      Returns:
      an HTTP client request object
    • patch

      public HttpRequest<Buffer> patch(String requestURI)
      Create an HTTP PATCH request to send to the server at the default host and port.
      Parameters:
      requestURI - the request URI
      Returns:
      an HTTP client request object
    • patch

      public HttpRequest<Buffer> patch(UriTemplate requestURI)
      Create an HTTP PATCH request to send to the server at the default host and port.
      Parameters:
      requestURI - the request URI as a
      Returns:
      an HTTP client request object
    • patch

      public 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 request URI
      Returns:
      an HTTP client request object
    • patch

      public HttpRequest<Buffer> patch(int port, String host, UriTemplate 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 request URI as a
      Returns:
      an HTTP client request object
    • patch

      public 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 request URI
      Returns:
      an HTTP client request object
    • patch

      public HttpRequest<Buffer> patch(String host, UriTemplate requestURI)
      Create an HTTP PATCH request to send to the server at the specified host and default port.
      Parameters:
      host - the host
      requestURI - the request URI as a
      Returns:
      an HTTP client request object
    • patchAbs

      public 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
    • patchAbs

      public HttpRequest<Buffer> patchAbs(UriTemplate 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 as a
      Returns:
      an HTTP client request object
    • head

      public HttpRequest<Buffer> head(String requestURI)
      Create an HTTP HEAD request to send to the server at the default host and port.
      Parameters:
      requestURI - the request URI
      Returns:
      an HTTP client request object
    • head

      public HttpRequest<Buffer> head(UriTemplate requestURI)
      Create an HTTP HEAD request to send to the server at the default host and port.
      Parameters:
      requestURI - the request URI as a
      Returns:
      an HTTP client request object
    • head

      public 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 request URI
      Returns:
      an HTTP client request object
    • head

      public HttpRequest<Buffer> head(int port, String host, UriTemplate 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 request URI as a
      Returns:
      an HTTP client request object
    • head

      public 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 request URI
      Returns:
      an HTTP client request object
    • head

      public HttpRequest<Buffer> head(String host, UriTemplate requestURI)
      Create an HTTP HEAD request to send to the server at the specified host and default port.
      Parameters:
      host - the host
      requestURI - the request URI as a
      Returns:
      an HTTP client request object
    • headAbs

      public 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
    • headAbs

      public HttpRequest<Buffer> headAbs(UriTemplate 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 as a
      Returns:
      an HTTP client request object
    • updateSSLOptions

      public Future<Boolean> updateSSLOptions(ClientSSLOptions options)

      Update the client with new SSL options, the update happens if the options object is valid and different from the existing options object.

      The boolean succeeded future result indicates whether the update occurred.

      Parameters:
      options - the new SSL options
      Returns:
      a future signaling the update success
    • rxUpdateSSLOptions

      public Single<Boolean> rxUpdateSSLOptions(ClientSSLOptions options)

      Update the client with new SSL options, the update happens if the options object is valid and different from the existing options object.

      The boolean succeeded future result indicates whether the update occurred.

      Parameters:
      options - the new SSL options
      Returns:
      a future signaling the update success
    • updateSSLOptions

      public Future<Boolean> updateSSLOptions(ClientSSLOptions options, boolean force)

      Update the client with new SSL options, the update happens if the options object is valid and different from the existing options object.

      The options object is compared using its equals method against the existing options to prevent an update when the objects are equals since loading options can be costly, this can happen for share TCP servers. When object are equals, setting force to true forces the update.

      The boolean succeeded future result indicates whether the update occurred.

      Parameters:
      options - the new SSL options
      force - force the update when options are equals
      Returns:
      a future signaling the update success
    • rxUpdateSSLOptions

      public Single<Boolean> rxUpdateSSLOptions(ClientSSLOptions options, boolean force)

      Update the client with new SSL options, the update happens if the options object is valid and different from the existing options object.

      The options object is compared using its equals method against the existing options to prevent an update when the objects are equals since loading options can be costly, this can happen for share TCP servers. When object are equals, setting force to true forces the update.

      The boolean succeeded future result indicates whether the update occurred.

      Parameters:
      options - the new SSL options
      force - force the update when options are equals
      Returns:
      a future signaling the update success
    • close

      public void close()
      Close the client. Closing will close down any pooled connections. Clients should always be closed after use.
    • newInstance

      public static WebClient newInstance(WebClient arg)