Package io.vertx.reactivex.core.http

## Interface HttpClient

- All Superinterfaces:
    `io.vertx.lang.rx.RxDelegate`
  All Known Implementing Classes:
    `HttpClientAgent`, `HttpClientConnection`

      public interface HttpClient
      extends io.vertx.lang.rx.RxDelegate

  The API to interacts with an HTTP server.

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

- - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Future<Void>` | `close()` | Close immediately (`shutdown(0, TimeUnit.SECONDS`).
    `HttpClient` | `getDelegate()` |
    `static HttpClient` | `newInstance​(HttpClient arg)` |
    `Future<HttpClientRequest>` | `request()` | Create an HTTP request to send to the server with the default host and port of the client.
    `Future<HttpClientRequest>` | `request​(HttpMethod method, int port, String host, String requestURI)` | Create an HTTP request to send to the server at the `host` and `port`.
    `Future<HttpClientRequest>` | `request​(HttpMethod method, String requestURI)` | Create an HTTP request to send to the server at the default host and port.
    `Future<HttpClientRequest>` | `request​(HttpMethod method, String host, String requestURI)` | Create an HTTP request to send to the server at the `host` and default port.
    `Future<HttpClientRequest>` | `request​(RequestOptions options)` | Create an HTTP request to send to the server.
    `Completable` | `rxClose()` | Close immediately (`shutdown(0, TimeUnit.SECONDS`).
    `Single<HttpClientRequest>` | `rxRequest()` | Create an HTTP request to send to the server with the default host and port of the client.
    `Single<HttpClientRequest>` | `rxRequest​(HttpMethod method, int port, String host, String requestURI)` | Create an HTTP request to send to the server at the `host` and `port`.
    `Single<HttpClientRequest>` | `rxRequest​(HttpMethod method, String requestURI)` | Create an HTTP request to send to the server at the default host and port.
    `Single<HttpClientRequest>` | `rxRequest​(HttpMethod method, String host, String requestURI)` | Create an HTTP request to send to the server at the `host` and default port.
    `Single<HttpClientRequest>` | `rxRequest​(RequestOptions options)` | Create an HTTP request to send to the server.
    `Completable` | `rxShutdown()` | Shutdown with a 30 seconds timeout (`shutdown(30, TimeUnit.SECONDS)`).
    `Completable` | `rxShutdown​(long timeout, TimeUnit unit)` | Initiate the client shutdown sequence.
    `Future<Void>` | `shutdown()` | Shutdown with a 30 seconds timeout (`shutdown(30, TimeUnit.SECONDS)`).
    `Future<Void>` | `shutdown​(long timeout, TimeUnit unit)` | Initiate the client shutdown sequence.

- - ### Method Detail

    - #### getDelegate

          HttpClient getDelegate()

      Specified by:
        `getDelegate` in interface `io.vertx.lang.rx.RxDelegate`

    - #### request

          Future<HttpClientRequest> request()

      Create an HTTP request to send to the server with the default host and port of the client.
      Returns:
        a future notified when the request is ready to be sent

    - #### rxRequest

          Single<HttpClientRequest> rxRequest()

      Create an HTTP request to send to the server with the default host and port of the client.
      Returns:
        a future notified when the request is ready to be sent

    - #### request

          Future<HttpClientRequest> request​(RequestOptions options)

      Create an HTTP request to send to the server.
      Parameters:
        `options` - the request options
      Returns:
        a future notified when the request is ready to be sent

    - #### rxRequest

          Single<HttpClientRequest> rxRequest​(RequestOptions options)

      Create an HTTP request to send to the server.
      Parameters:
        `options` - the request options
      Returns:
        a future notified when the request is ready to be sent

    - #### request

          Future<HttpClientRequest> request​(HttpMethod method,
                                            int port,
                                            String host,
                                            String requestURI)

      Create an HTTP request to send to the server at the `host` and `port`.
      Parameters:
        `method` - the HTTP method
        `port` - the port
        `host` - the host
        `requestURI` - the relative URI
      Returns:
        a future notified when the request is ready to be sent

    - #### rxRequest

          Single<HttpClientRequest> rxRequest​(HttpMethod method,
                                              int port,
                                              String host,
                                              String requestURI)

      Create an HTTP request to send to the server at the `host` and `port`.
      Parameters:
        `method` - the HTTP method
        `port` - the port
        `host` - the host
        `requestURI` - the relative URI
      Returns:
        a future notified when the request is ready to be sent

    - #### request

          Future<HttpClientRequest> request​(HttpMethod method,
                                            String host,
                                            String requestURI)

      Create an HTTP request to send to the server at the `host` and default port.
      Parameters:
        `method` - the HTTP method
        `host` - the host
        `requestURI` - the relative URI
      Returns:
        a future notified when the request is ready to be sent

    - #### rxRequest

          Single<HttpClientRequest> rxRequest​(HttpMethod method,
                                              String host,
                                              String requestURI)

      Create an HTTP request to send to the server at the `host` and default port.
      Parameters:
        `method` - the HTTP method
        `host` - the host
        `requestURI` - the relative URI
      Returns:
        a future notified when the request is ready to be sent

    - #### request

          Future<HttpClientRequest> 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:
        a future notified when the request is ready to be sent

    - #### rxRequest

          Single<HttpClientRequest> rxRequest​(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:
        a future notified when the request is ready to be sent

    - #### shutdown

          Future<Void> shutdown()

      Shutdown with a 30 seconds timeout (`shutdown(30, TimeUnit.SECONDS)`).
      Returns:
        a future completed when shutdown has completed

    - #### rxShutdown

          Completable rxShutdown()

      Shutdown with a 30 seconds timeout (`shutdown(30, TimeUnit.SECONDS)`).
      Returns:
        a future completed when shutdown has completed

    - #### close

          Future<Void> close()

      Close immediately (`shutdown(0, TimeUnit.SECONDS`).
      Returns:
        a future notified when the client is closed

    - #### rxClose

          Completable rxClose()

      Close immediately (`shutdown(0, TimeUnit.SECONDS`).
      Returns:
        a future notified when the client is closed

    - #### shutdown

          Future<Void> shutdown​(long timeout,
                                TimeUnit unit)

      Initiate the client shutdown sequence.

      Connections are taken out of service and closed when all inflight requests are processed, client connection are immediately removed from the pool. When all connections are closed the client is closed. When the `timeout` expires, all unclosed connections are immediately closed.

      - HTTP/2 connections will send a go away frame immediately to signal the other side the connection will close
      - HTTP/1.x client connection will be closed after the current response is received
      Parameters:
        `timeout` - the amount of time after which all resources are forcibly closed
        `unit` - the of the timeout
      Returns:
        a future notified when the client is closed

    - #### rxShutdown

          Completable rxShutdown​(long timeout,
                                 TimeUnit unit)

      Initiate the client shutdown sequence.

      Connections are taken out of service and closed when all inflight requests are processed, client connection are immediately removed from the pool. When all connections are closed the client is closed. When the `timeout` expires, all unclosed connections are immediately closed.

      - HTTP/2 connections will send a go away frame immediately to signal the other side the connection will close
      - HTTP/1.x client connection will be closed after the current response is received
      Parameters:
        `timeout` - the amount of time after which all resources are forcibly closed
        `unit` - the of the timeout
      Returns:
        a future notified when the client is closed

    - #### newInstance

          static HttpClient newInstance​(HttpClient arg)