org.apache.hc.core5.http2.impl.nio.bootstrap

## Class H2ServerBootstrap

- java.lang.Object
- - org.apache.hc.core5.http2.impl.nio.bootstrap.H2ServerBootstrap

-     public class H2ServerBootstrap
      extends Object

  HTTP/2 capable `HttpAsyncServer` bootstrap.
  Since:
    5.0

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `H2ServerBootstrap` | `addFilterAfter(String existing, String name, AsyncFilterHandler filterHandler)` Adds the filter after the filter with the given name.
    `H2ServerBootstrap` | `addFilterBefore(String existing, String name, AsyncFilterHandler filterHandler)` Adds the filter before the filter with the given name.
    `H2ServerBootstrap` | `addFilterFirst(String name, AsyncFilterHandler filterHandler)` Add an filter to the head of the processing list.
    `H2ServerBootstrap` | `addFilterLast(String name, AsyncFilterHandler filterHandler)` Add an filter to the tail of the processing list.
    `static H2ServerBootstrap` | `bootstrap()`
    `HttpAsyncServer` | `create()`
    `<T> H2ServerBootstrap` | `register(String uriPattern, AsyncServerRequestHandler<T> requestHandler)` Registers the given `AsyncServerRequestHandler` as a default handler for URIs matching the given pattern.
    `H2ServerBootstrap` | `register(String uriPattern, Supplier<AsyncServerExchangeHandler> supplier)` Registers the given `AsyncServerExchangeHandler` `Supplier` as a default handler for URIs matching the given pattern.
    `<T> H2ServerBootstrap` | `registerVirtual(String hostname, String uriPattern, AsyncServerRequestHandler<T> requestHandler)` Registers the given `AsyncServerRequestHandler` as a handler for URIs matching the given host and the pattern.
    `H2ServerBootstrap` | `registerVirtual(String hostname, String uriPattern, Supplier<AsyncServerExchangeHandler> supplier)` Registers the given `AsyncServerExchangeHandler` `Supplier` as a handler for URIs matching the given host and the pattern.
    `H2ServerBootstrap` | `replaceFilter(String existing, AsyncFilterHandler filterHandler)` Replace an existing filter with the given name with new filter.
    `H2ServerBootstrap` | `setCanonicalHostName(String canonicalHostName)` Sets canonical name (fully qualified domain name) of the server.
    `H2ServerBootstrap` | `setCharset(CharCodingConfig charCodingConfig)` Sets message char coding.
    `H2ServerBootstrap` | `setExceptionCallback(Callback<Exception> exceptionCallback)` Assigns `Exception` `Callback` instance.
    `H2ServerBootstrap` | `setH2Config(H2Config h2Config)` Sets HTTP/2 protocol parameters
    `H2ServerBootstrap` | `setHandshakeTimeout(Timeout handshakeTimeout)`
    `H2ServerBootstrap` | `setHttp1Config(Http1Config http1Config)` Sets HTTP/1.1 protocol parameters
    `H2ServerBootstrap` | `setHttpProcessor(HttpProcessor httpProcessor)` Assigns `HttpProcessor` instance.
    `H2ServerBootstrap` | `setIOReactorConfig(IOReactorConfig ioReactorConfig)` Sets I/O reactor configuration.
    `H2ServerBootstrap` | `setIOSessionDecorator(Decorator<IOSession> ioSessionDecorator)` Assigns `IOSession` `Decorator` instance.
    `H2ServerBootstrap` | `setIOSessionListener(IOSessionListener sessionListener)` Assigns `IOSessionListener` instance.
    `H2ServerBootstrap` | `setLookupRegistry(LookupRegistry<Supplier<AsyncServerExchangeHandler>> lookupRegistry)` Assigns `LookupRegistry` instance.
    `H2ServerBootstrap` | `setStreamListener(H2StreamListener h2StreamListener)` Assigns `H2StreamListener` instance.
    `H2ServerBootstrap` | `setStreamListener(Http1StreamListener http1StreamListener)` Assigns `Http1StreamListener` instance.
    `H2ServerBootstrap` | `setTlsStrategy(TlsStrategy tlsStrategy)` Assigns `TlsStrategy` instance.
    `H2ServerBootstrap` | `setVersionPolicy(HttpVersionPolicy versionPolicy)` Sets HTTP protocol version policy

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

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

- - ### Method Detail

    - #### bootstrap

          public static H2ServerBootstrap bootstrap()

    - #### setCanonicalHostName

          public final H2ServerBootstrap setCanonicalHostName(String canonicalHostName)

      Sets canonical name (fully qualified domain name) of the server.
      Since:
        5.0

    - #### setIOReactorConfig

          public final H2ServerBootstrap setIOReactorConfig(IOReactorConfig ioReactorConfig)

      Sets I/O reactor configuration.

    - #### setHttpProcessor

          public final H2ServerBootstrap setHttpProcessor(HttpProcessor httpProcessor)

      Assigns `HttpProcessor` instance.

    - #### setVersionPolicy

          public final H2ServerBootstrap setVersionPolicy(HttpVersionPolicy versionPolicy)

      Sets HTTP protocol version policy

    - #### setH2Config

          public final H2ServerBootstrap setH2Config(H2Config h2Config)

      Sets HTTP/2 protocol parameters

    - #### setHttp1Config

          public final H2ServerBootstrap setHttp1Config(Http1Config http1Config)

      Sets HTTP/1.1 protocol parameters

    - #### setCharset

          public final H2ServerBootstrap setCharset(CharCodingConfig charCodingConfig)

      Sets message char coding.

    - #### setTlsStrategy

          public final H2ServerBootstrap setTlsStrategy(TlsStrategy tlsStrategy)

      Assigns `TlsStrategy` instance.

    - #### setHandshakeTimeout

          public final H2ServerBootstrap setHandshakeTimeout(Timeout handshakeTimeout)

    - #### setIOSessionDecorator

          public final H2ServerBootstrap setIOSessionDecorator(Decorator<IOSession> ioSessionDecorator)

      Assigns `IOSession` `Decorator` instance.

    - #### setExceptionCallback

          public final H2ServerBootstrap setExceptionCallback(Callback<Exception> exceptionCallback)

      Assigns `Exception` `Callback` instance.

    - #### setIOSessionListener

          public final H2ServerBootstrap setIOSessionListener(IOSessionListener sessionListener)

      Assigns `IOSessionListener` instance.

    - #### setStreamListener

          public final H2ServerBootstrap setStreamListener(H2StreamListener h2StreamListener)

      Assigns `H2StreamListener` instance.

    - #### setStreamListener

          public final H2ServerBootstrap setStreamListener(Http1StreamListener http1StreamListener)

      Assigns `Http1StreamListener` instance.

    - #### setLookupRegistry

          public final H2ServerBootstrap setLookupRegistry(LookupRegistry<Supplier<AsyncServerExchangeHandler>> lookupRegistry)

      Assigns `LookupRegistry` instance.

    - #### register

          public final H2ServerBootstrap register(String uriPattern,
                                   Supplier<AsyncServerExchangeHandler> supplier)

      Registers the given `AsyncServerExchangeHandler` `Supplier` as a default handler for URIs matching the given pattern.
      Parameters:
        `uriPattern` - the pattern to register the handler for.
        `supplier` - the handler supplier.

    - #### registerVirtual

          public final H2ServerBootstrap registerVirtual(String hostname,
                                          String uriPattern,
                                          Supplier<AsyncServerExchangeHandler> supplier)

      Registers the given `AsyncServerExchangeHandler` `Supplier` as a handler for URIs matching the given host and the pattern.
      Parameters:
        `hostname` - the host name
        `uriPattern` - the pattern to register the handler for.
        `supplier` - the handler supplier.

    - #### register

          public final <T> H2ServerBootstrap register(String uriPattern,
                                       AsyncServerRequestHandler<T> requestHandler)

      Registers the given `AsyncServerRequestHandler` as a default handler for URIs matching the given pattern.
      Parameters:
        `uriPattern` - the pattern to register the handler for.
        `requestHandler` - the handler.

    - #### registerVirtual

          public final <T> H2ServerBootstrap registerVirtual(String hostname,
                                              String uriPattern,
                                              AsyncServerRequestHandler<T> requestHandler)

      Registers the given `AsyncServerRequestHandler` as a handler for URIs matching the given host and the pattern.
      Parameters:
        `hostname` - the host name
        `uriPattern` - the pattern to register the handler for.
        `requestHandler` - the handler.

    - #### addFilterBefore

          public final H2ServerBootstrap addFilterBefore(String existing,
                                          String name,
                                          AsyncFilterHandler filterHandler)

      Adds the filter before the filter with the given name.

    - #### addFilterAfter

          public final H2ServerBootstrap addFilterAfter(String existing,
                                         String name,
                                         AsyncFilterHandler filterHandler)

      Adds the filter after the filter with the given name.

    - #### replaceFilter

          public final H2ServerBootstrap replaceFilter(String existing,
                                        AsyncFilterHandler filterHandler)

      Replace an existing filter with the given name with new filter.

    - #### addFilterFirst

          public final H2ServerBootstrap addFilterFirst(String name,
                                         AsyncFilterHandler filterHandler)

      Add an filter to the head of the processing list.

    - #### addFilterLast

          public final H2ServerBootstrap addFilterLast(String name,
                                        AsyncFilterHandler filterHandler)

      Add an filter to the tail of the processing list.

    - #### create

          public HttpAsyncServer create()

Copyright © 2005–2022 The Apache Software Foundation. All rights reserved.