Class WebClient

  • Direct Known Subclasses:
    OAuth2WebClient, WebClientSession

    public class WebClient
    extends Object
    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 Detail

      • __TYPE_ARG

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

      • WebClient

        public WebClient​(WebClient delegate)
      • WebClient

        public WebClient​(Object delegate)
    • Method Detail

      • hashCode

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

        public WebClient getDelegate()
      • 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
      • 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,
                                           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,
                                           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,
                                           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
      • 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
      • 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.