org.apache.hc.client5.http.impl.async

## Class HttpAsyncClients

- java.lang.Object
- - org.apache.hc.client5.http.impl.async.HttpAsyncClients

    public final class HttpAsyncClients
    extends Object

Factory methods for `CloseableHttpAsyncClient` instances.

Since:
  5.0

### Method Summary

Methods
`static CloseableHttpAsyncClient` `createDefault()` Creates `CloseableHttpAsyncClient` instance with default configuration.
`static CloseableHttpAsyncClient` `createHttp2Default()` Creates HTTP/2 `CloseableHttpAsyncClient` instance with default configuration optimized for HTTP/2 protocol and message multiplexing.
`static MinimalHttp2AsyncClient` `createHttp2Minimal()` Creates `MinimalHttp2AsyncClient` instance optimized for HTTP/2 multiplexing message transport without advanced HTTP protocol functionality.
`static MinimalHttp2AsyncClient` `createHttp2Minimal(H2Config h2Config)` Creates `MinimalHttp2AsyncClient` instance optimized for HTTP/2 multiplexing message transport without advanced HTTP protocol functionality.
`static MinimalHttp2AsyncClient` `createHttp2Minimal(H2Config h2Config, IOReactorConfig ioReactorConfig)` Creates `MinimalHttp2AsyncClient` instance optimized for HTTP/2 multiplexing message transport without advanced HTTP protocol functionality.
`static MinimalHttp2AsyncClient` `createHttp2Minimal(H2Config h2Config, IOReactorConfig ioReactorConfig, DnsResolver dnsResolver, TlsStrategy tlsStrategy)` Creates `MinimalHttp2AsyncClient` instance optimized for HTTP/2 multiplexing message transport without advanced HTTP protocol functionality.
`static MinimalHttp2AsyncClient` `createHttp2Minimal(H2Config h2Config, IOReactorConfig ioReactorConfig, TlsStrategy tlsStrategy)` Creates `MinimalHttp2AsyncClient` instance optimized for HTTP/2 multiplexing message transport without advanced HTTP protocol functionality.
`static CloseableHttpAsyncClient` `createHttp2System()` Creates HTTP/2 `CloseableHttpAsyncClient` instance with default configuration and system properties optimized for HTTP/2 protocol and message multiplexing.
`static MinimalHttpAsyncClient` `createMinimal()` Creates `MinimalHttpAsyncClient` instance optimized for HTTP/1.1 and HTTP/2 message transport without advanced HTTP protocol functionality.
`static MinimalHttpAsyncClient` `createMinimal(AsyncClientConnectionManager connManager)` Creates `MinimalHttpAsyncClient` instance optimized for HTTP/1.1 and HTTP/2 message transport without advanced HTTP protocol functionality.
`static MinimalHttpAsyncClient` `createMinimal(H2Config h2Config, H1Config h1Config)` Creates `MinimalHttpAsyncClient` instance optimized for HTTP/1.1 and HTTP/2 message transport without advanced HTTP protocol functionality.
`static MinimalHttpAsyncClient` `createMinimal(HttpVersionPolicy versionPolicy, H2Config h2Config, H1Config h1Config, IOReactorConfig ioReactorConfig)` Creates `MinimalHttpAsyncClient` instance optimized for HTTP/1.1 and HTTP/2 message transport without advanced HTTP protocol functionality.
`static MinimalHttpAsyncClient` `createMinimal(HttpVersionPolicy versionPolicy, H2Config h2Config, H1Config h1Config, IOReactorConfig ioReactorConfig, AsyncClientConnectionManager connmgr)` Creates `MinimalHttpAsyncClient` instance optimized for HTTP/1.1 and HTTP/2 message transport without advanced HTTP protocol functionality.
`static CloseableHttpAsyncClient` `createSystem()` Creates `CloseableHttpAsyncClient` instance with default configuration and system properties.
`static HttpAsyncClientBuilder` `custom()` Creates builder object for construction of custom `CloseableHttpAsyncClient` instances.
`static Http2AsyncClientBuilder` `customHttp2()` Creates builder object for construction of custom HTTP/2 `CloseableHttpAsyncClient` instances optimized for HTTP/2 protocol and message multiplexing

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Method Detail

#### custom

    public static HttpAsyncClientBuilder custom()

Creates builder object for construction of custom `CloseableHttpAsyncClient` instances.

#### createDefault

    public static CloseableHttpAsyncClient createDefault()

Creates `CloseableHttpAsyncClient` instance with default configuration.

#### createSystem

    public static CloseableHttpAsyncClient createSystem()

Creates `CloseableHttpAsyncClient` instance with default configuration and system properties.

#### customHttp2

    public static Http2AsyncClientBuilder customHttp2()

Creates builder object for construction of custom HTTP/2 `CloseableHttpAsyncClient` instances optimized for HTTP/2 protocol and message multiplexing

#### createHttp2Default

    public static CloseableHttpAsyncClient createHttp2Default()

Creates HTTP/2 `CloseableHttpAsyncClient` instance with default configuration optimized for HTTP/2 protocol and message multiplexing.

#### createHttp2System

    public static CloseableHttpAsyncClient createHttp2System()

Creates HTTP/2 `CloseableHttpAsyncClient` instance with default configuration and system properties optimized for HTTP/2 protocol and message multiplexing.

#### createMinimal

    public static MinimalHttpAsyncClient createMinimal(HttpVersionPolicy versionPolicy,
                                       H2Config h2Config,
                                       H1Config h1Config,
                                       IOReactorConfig ioReactorConfig,
                                       AsyncClientConnectionManager connmgr)

Creates `MinimalHttpAsyncClient` instance optimized for HTTP/1.1 and HTTP/2 message transport without advanced HTTP protocol functionality.

#### createMinimal

    public static MinimalHttpAsyncClient createMinimal(HttpVersionPolicy versionPolicy,
                                       H2Config h2Config,
                                       H1Config h1Config,
                                       IOReactorConfig ioReactorConfig)

Creates `MinimalHttpAsyncClient` instance optimized for HTTP/1.1 and HTTP/2 message transport without advanced HTTP protocol functionality.

#### createMinimal

    public static MinimalHttpAsyncClient createMinimal(H2Config h2Config,
                                       H1Config h1Config)

Creates `MinimalHttpAsyncClient` instance optimized for HTTP/1.1 and HTTP/2 message transport without advanced HTTP protocol functionality.

#### createMinimal

    public static MinimalHttpAsyncClient createMinimal()

Creates `MinimalHttpAsyncClient` instance optimized for HTTP/1.1 and HTTP/2 message transport without advanced HTTP protocol functionality.

#### createMinimal

    public static MinimalHttpAsyncClient createMinimal(AsyncClientConnectionManager connManager)

Creates `MinimalHttpAsyncClient` instance optimized for HTTP/1.1 and HTTP/2 message transport without advanced HTTP protocol functionality.

#### createHttp2Minimal

    public static MinimalHttp2AsyncClient createHttp2Minimal(H2Config h2Config,
                                             IOReactorConfig ioReactorConfig,
                                             DnsResolver dnsResolver,
                                             TlsStrategy tlsStrategy)

Creates `MinimalHttp2AsyncClient` instance optimized for HTTP/2 multiplexing message transport without advanced HTTP protocol functionality.

#### createHttp2Minimal

    public static MinimalHttp2AsyncClient createHttp2Minimal(H2Config h2Config,
                                             IOReactorConfig ioReactorConfig,
                                             TlsStrategy tlsStrategy)

Creates `MinimalHttp2AsyncClient` instance optimized for HTTP/2 multiplexing message transport without advanced HTTP protocol functionality.

#### createHttp2Minimal

    public static MinimalHttp2AsyncClient createHttp2Minimal(H2Config h2Config,
                                             IOReactorConfig ioReactorConfig)

Creates `MinimalHttp2AsyncClient` instance optimized for HTTP/2 multiplexing message transport without advanced HTTP protocol functionality.

#### createHttp2Minimal

    public static MinimalHttp2AsyncClient createHttp2Minimal(H2Config h2Config)

Creates `MinimalHttp2AsyncClient` instance optimized for HTTP/2 multiplexing message transport without advanced HTTP protocol functionality.

#### createHttp2Minimal

    public static MinimalHttp2AsyncClient createHttp2Minimal()

Creates `MinimalHttp2AsyncClient` instance optimized for HTTP/2 multiplexing message transport without advanced HTTP protocol functionality.