## Uses of Class
org.apache.hc.core5.annotation.Contract

- Packages that use Contract
  Package | Description
  --- | ---
  org.apache.hc.core5.concurrent | Core concurrency component APIs.
  org.apache.hc.core5.http | Core HTTP transport component APIs.
  org.apache.hc.core5.http.config | Core configuration APIs.
  org.apache.hc.core5.http.impl | Default implementations of core HTTP APIs.
  org.apache.hc.core5.http.impl.io | Default implementation of HTTP/1.1 transport based on the classic (blocking) I/O model.
  org.apache.hc.core5.http.impl.nio | Default implementation of HTTP/1.1 transport based on the asynchronous (non-blocking) I/O model.
  org.apache.hc.core5.http.impl.routing |
  org.apache.hc.core5.http.io | Core HTTP transport APIs based on the classic (blocking) I/O model.
  org.apache.hc.core5.http.io.entity | HTTP message entity APIs based on the classic (blocking) I/O model.
  org.apache.hc.core5.http.io.support | Support classes for the classic (blocking) I/O model.
  org.apache.hc.core5.http.message | Core HTTP message components, message element parser and writer APIs and their default implementations.
  org.apache.hc.core5.http.nio | Core HTTP transport APIs based on the asynchronous, event driven I/O model.
  org.apache.hc.core5.http.nio.entity | HTTP message entity APIs based on the asynchronous (non-blocking) I/O model.
  org.apache.hc.core5.http.nio.support | Support classes for the asynchronous I/O model.
  org.apache.hc.core5.http.nio.support.classic | Support classes for the asynchronous I/O model that emulate behavior of the classic (blocking) I/O model.
  org.apache.hc.core5.http.protocol | Core HTTP protocol interceptors.
  org.apache.hc.core5.http2.config | Core HTTP/2 configuration APIs.
  org.apache.hc.core5.http2.impl.nio | Default implementation of HTTP/2 transport based on the asynchronous (non-blocking) I/O model.
  org.apache.hc.core5.http2.nio.pool | HTTP/2 specific pool component APIs.
  org.apache.hc.core5.http2.protocol | HTTP/2 protocol interceptors.
  org.apache.hc.core5.net | Core network component APIs and utilities.
  org.apache.hc.core5.pool | Client side connection pool component APIs.
  org.apache.hc.core5.reactive |
  org.apache.hc.core5.reactor | Event driven network communication APIs and components loosely based on Doug Lea's reactor pattern.
  org.apache.hc.core5.reactor.ssl | TLS/SSL support for I/O reactors.
  org.apache.hc.core5.testing.nio |
  org.apache.hc.core5.util | Core utility classes.

- - ### Uses of Contract in org.apache.hc.core5.concurrent

    Classes in org.apache.hc.core5.concurrent with annotations of type Contract
    Modifier and Type | Class and Description
    --- | ---
    `class` | `CompletedFuture<T>` Immutable, completed future.

  - ### Uses of Contract in org.apache.hc.core5.http

    Classes in org.apache.hc.core5.http with annotations of type Contract
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `ConnectionReuseStrategy` Interface for deciding whether a connection can be re-used for subsequent requests and should be kept alive.
    `interface` | `ContentLengthStrategy` Represents a strategy to determine length of the enclosed content entity based on properties of the HTTP message.
    `class` | `ContentType` Content type information consisting of a MIME type and an optional charset.
    `interface` | `ExceptionListener`
    `class` | `HttpHost` Component that holds all details needed to describe an HTTP connection to a host.
    `interface` | `HttpRequestInterceptor` HTTP protocol interceptor is a routine that implements a specific aspect of the HTTP protocol.
    `interface` | `HttpResponseInterceptor` HTTP protocol interceptor is a routine that implements a specific aspect of the HTTP protocol.
    `class` | `HttpVersion` Represents an HTTP version.
    `class` | `ProtocolVersion` Represents a protocol version.

  - ### Uses of Contract in org.apache.hc.core5.http.config

    Classes in org.apache.hc.core5.http.config with annotations of type Contract
    Modifier and Type | Class and Description
    --- | ---
    `class` | `CharCodingConfig` HTTP/1.1 char coding configuration.
    `class` | `Http1Config` HTTP/1.1 protocol parameters.
    `class` | `Registry<I>` Generic registry of items keyed by low-case string ID.

  - ### Uses of Contract in org.apache.hc.core5.http.impl

    Classes in org.apache.hc.core5.http.impl with annotations of type Contract
    Modifier and Type | Class and Description
    --- | ---
    `class` | `DefaultConnectionReuseStrategy` Default implementation of a strategy deciding about connection re-use.
    `class` | `DefaultContentLengthStrategy` The default implementation of the content length strategy.
    `class` | `EnglishReasonPhraseCatalog` English reason phrases for HTTP status codes.
    `interface` | `Http1StreamListener` HTTP/1.1 stream event listener.

  - ### Uses of Contract in org.apache.hc.core5.http.impl.io

    Classes in org.apache.hc.core5.http.impl.io with annotations of type Contract
    Modifier and Type | Class and Description
    --- | ---
    `class` | `DefaultBHttpClientConnectionFactory` Default factory for `HttpClientConnection`s.
    `class` | `DefaultBHttpServerConnectionFactory` Default factory for `HttpServerConnection`s.
    `class` | `DefaultClassicHttpRequestFactory` Default factory for creating `ClassicHttpRequest` objects.
    `class` | `DefaultClassicHttpResponseFactory` Default factory for creating `ClassicHttpResponse` objects.
    `class` | `DefaultHttpRequestParserFactory` Default factory for request message parsers.
    `class` | `DefaultHttpRequestWriterFactory` Default factory for request message writers.
    `class` | `DefaultHttpResponseParserFactory` Default factory for response message parsers.
    `class` | `DefaultHttpResponseWriterFactory` Default factory for response message writers.
    `class` | `HttpRequestExecutor` `HttpRequestExecutor` is a client side HTTP protocol handler based on the blocking (classic) I/O model.
    `class` | `HttpService` `HttpService` is a server side HTTP protocol handler based on the classic (blocking) I/O model.
    `class` | `MonitoringResponseOutOfOrderStrategy` A `ResponseOutOfOrderStrategy` implementation which checks for premature responses every `MonitoringResponseOutOfOrderStrategy.chunkSize` bytes.
    `class` | `NoResponseOutOfOrderStrategy` An implementation of `ResponseOutOfOrderStrategy` which does not check for early responses.

  - ### Uses of Contract in org.apache.hc.core5.http.impl.nio

    Classes in org.apache.hc.core5.http.impl.nio with annotations of type Contract
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ClientHttp1IOEventHandlerFactory` `ClientHttp1IOEventHandler` factory.
    `class` | `ClientHttp1StreamDuplexerFactory` `ClientHttp1StreamDuplexer` factory.
    `class` | `DefaultHttpRequestFactory` Default factory for creating `HttpRequest` objects.
    `class` | `DefaultHttpRequestParserFactory` Default factory for request message parsers.
    `class` | `DefaultHttpRequestWriterFactory` Default factory for request message writers.
    `class` | `DefaultHttpResponseFactory` Default factory for creating `HttpResponse` objects.
    `class` | `DefaultHttpResponseParserFactory` Default factory for response message parsers.
    `class` | `DefaultHttpResponseWriterFactory` Default factory for response message writers.
    `class` | `ServerHttp1IOEventHandlerFactory` `ServerHttp1IOEventHandler` factory.
    `class` | `ServerHttp1StreamDuplexerFactory` `ServerHttp1StreamDuplexer` factory.

  - ### Uses of Contract in org.apache.hc.core5.http.impl.routing

    Classes in org.apache.hc.core5.http.impl.routing with annotations of type Contract
    Modifier and Type | Class and Description
    --- | ---
    `class` | `PathPatternMatcher` URI path component pattern matcher.
    `class` | `RequestRouter<T>` Request mapper that can route requests based on their properties to a specific request handler.

  - ### Uses of Contract in org.apache.hc.core5.http.io

    Classes in org.apache.hc.core5.http.io with annotations of type Contract
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `HttpFilterChain` HttpFilterChain represents a single element in the server side request processing chain.
    `interface` | `HttpFilterHandler` HttpFilterHandler represents a routine for handling all incoming requests in the server side request processing chain.
    `interface` | `HttpServerRequestHandler` HttpServerRequestHandler represents a routine for processing of a specific group of HTTP requests.
    `class` | `SocketConfig` Classic I/O network socket configuration.

  - ### Uses of Contract in org.apache.hc.core5.http.io.entity

    Classes in org.apache.hc.core5.http.io.entity with annotations of type Contract
    Modifier and Type | Class and Description
    --- | ---
    `class` | `BasicHttpEntity` A generic streamed, non-repeatable entity that obtains its content from an `InputStream`.
    `class` | `ByteArrayEntity` A self contained, repeatable entity that obtains its content from a byte array.
    `class` | `EntityTemplate` Entity that delegates the process of content generation to a `IOCallback` with `OutputStream` as output sink.
    `class` | `FileEntity` A self contained, repeatable entity that obtains its content from a file.
    `class` | `HttpEntityWrapper` Base class for wrapping entities that delegates all calls to the wrapped entity.
    `class` | `NullEntity` An empty entity with no content-type.
    `class` | `PathEntity` A self contained, repeatable entity that obtains its content from a path.
    `class` | `SerializableEntity` A streamed entity that obtains its content from a `Serializable`.
    `class` | `StringEntity` A self contained, repeatable entity that obtains its content from a `String`.

  - ### Uses of Contract in org.apache.hc.core5.http.io.support

    Classes in org.apache.hc.core5.http.io.support with annotations of type Contract
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractHttpServerAuthFilter<T>` Abstract HTTP request filter that implements standard HTTP authentication handshake.
    `class` | `HttpServerExpectationFilter` HttpServerExpectationFilter add support for the Expect-Continue handshake to the request processing pipeline.
    `class` | `TerminalServerFilter` `HttpFilterHandler` implementation represents a terminal handler in a request processing pipeline that makes use of `HttpRequestMapper` to dispatch the request to a particular `HttpRequestHandler`.

  - ### Uses of Contract in org.apache.hc.core5.http.message

    Classes in org.apache.hc.core5.http.message with annotations of type Contract
    Modifier and Type | Class and Description
    --- | ---
    `class` | `BasicHeader` Immutable `Header`.
    `class` | `BasicHeaderValueFormatter` Default `HeaderValueFormatter` implementation.
    `class` | `BasicHeaderValueParser` Default `HeaderValueParser` implementation.
    `class` | `BasicLineFormatter` Default `LineFormatter` implementation.
    `class` | `BasicLineParser` Default `LineParser` implementation.
    `class` | `BasicNameValuePair` Basic implementation of `NameValuePair`.
    `class` | `LazyLineParser` Extension of `BasicLineParser` that defers parsing of header values.
    `class` | `RequestLine` HTTP/1.1 request line.
    `class` | `StatusLine` HTTP/1.1 status line.
    `class` | `TokenParser` Deprecated. Use `Tokenizer`

  - ### Uses of Contract in org.apache.hc.core5.http.nio

    Classes in org.apache.hc.core5.http.nio with annotations of type Contract
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AsyncClientEndpoint` Client endpoint leased from a connection manager.
    `interface` | `AsyncFilterChain` AsyncFilterChain represents a single element in the server side request processing chain.
    `interface` | `AsyncFilterHandler` AsyncFilterHandler represents a routine for handling all incoming requests in the server side request processing chain.
    `interface` | `AsyncServerRequestHandler<T>` AsyncServerRequestHandler represents a routine for processing of a specific group of HTTP requests.
    `interface` | `CapacityChannel` Abstract capacity update channel.
    `interface` | `DataStreamChannel` Abstract byte stream channel
    `interface` | `RequestChannel` Abstract request channel.
    `interface` | `ResourceHolder` Abstract resource holder.
    `interface` | `ResponseChannel` Abstract response / response promise channel.
    `interface` | `StreamChannel<T extends Buffer>` Abstract data stream channel.

  - ### Uses of Contract in org.apache.hc.core5.http.nio.entity

    Classes in org.apache.hc.core5.http.nio.entity with annotations of type Contract
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractBinAsyncEntityProducer` Abstract binary entity content producer.
    `class` | `AbstractCharAsyncEntityProducer` Abstract text entity content producer.
    `class` | `AsyncEntityProducerWrapper` Base class for wrapping entity producers that delegates all calls to the wrapped producer.

  - ### Uses of Contract in org.apache.hc.core5.http.nio.support

    Classes in org.apache.hc.core5.http.nio.support with annotations of type Contract
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractAsyncServerAuthFilter<T>` Abstract asynchronous HTTP request filter that implements standard HTTP authentication handshake.
    `class` | `AsyncServerExpectationFilter`
    `class` | `TerminalAsyncServerFilter` `AsyncFilterHandler` implementation represents a terminal handler in an asynchronous request processing pipeline that makes use of `HandlerFactory` to dispatch the request to a particular `AsyncServerExchangeHandler`.

  - ### Uses of Contract in org.apache.hc.core5.http.nio.support.classic

    Classes in org.apache.hc.core5.http.nio.support.classic with annotations of type Contract
    Modifier and Type | Class and Description
    --- | ---
    `class` | `SharedInputBuffer`
    `class` | `SharedOutputBuffer`

  - ### Uses of Contract in org.apache.hc.core5.http.protocol

    Classes in org.apache.hc.core5.http.protocol with annotations of type Contract
    Modifier and Type | Class and Description
    --- | ---
    `class` | `BasicHttpContext` Deprecated. Do not use.
    `class` | `DefaultHttpProcessor` Default immutable implementation of `HttpProcessor`.
    `class` | `ForwardedRequest` This request interceptor can be used by an HTTP proxy or an intermediary to add a Forwarded header to outgoing request messages.
    `class` | `HttpDateGenerator` Generates a date in the format required by the HTTP protocol.
    `interface` | `HttpProcessor` HTTP protocol processor is a collection of protocol interceptors that implements the 'Chain of Responsibility' pattern, where each individual protocol interceptor is expected to work on a particular aspect of the HTTP protocol the interceptor is responsible for.
    `class` | `RequestConformance` This request interceptor is responsible for execution of the protocol conformance checks on incoming request messages.
    `class` | `RequestConnControl` This request interceptor is responsible for adding `Connection` header to outgoing requests, which is essential for managing persistence of `HTTP/1.0` connections.
    `class` | `RequestContent` This request interceptor is responsible for delimiting the message content by adding `Content-Length` or `Transfer-Content` headers based on the properties of the enclosed entity and the protocol version.
    `class` | `RequestDate` This request interceptor is responsible for adding `Date` header to outgoing request messages.
    `class` | `RequestExpectContinue` This request interceptor is responsible for activation of the 'expect-continue' handshake by adding a `Expect` header describing client expectations.
    `class` | `RequestHandlerRegistry<T>` Deprecated. Use `RequestRouter`.
    `class` | `RequestTargetHost` This request interceptor is responsible for adding `Host` header to outgoing request messages.
    `class` | `RequestUserAgent` This request interceptor is responsible for adding `User-Agent` header.
    `class` | `RequestValidateHost` This request interceptor is responsible for copying `Host` header value to `HttpRequest.setAuthority(URIAuthority)` of incoming request messages.
    `class` | `ResponseConformance` This response interceptor is responsible for making the protocol conformance checks of outgoing response messages.
    `class` | `ResponseConnControl` This response interceptor is responsible for adding `Connection` header to outgoing responses, which is essential for managing persistence of `HTTP/1.0` connections.
    `class` | `ResponseContent` This response interceptor is responsible for delimiting the message content by adding `Content-Length` or `Transfer-Content` headers based on the properties of the enclosed entity and the protocol version.
    `class` | `ResponseDate` This response interceptor is responsible for adding `Date` header to outgoing response messages.
    `class` | `ResponseServer` This response interceptor is responsible for adding `Server` header.
    `class` | `UriPatternMatcher<T>` Deprecated. Use `RequestRouter` for request routing.
    `class` | `UriPatternOrderedMatcher<T>` Deprecated. Use `RequestRouter` for request routing.
    `class` | `UriRegexMatcher<T>` Deprecated. Use `RequestRouter` for request routing.
    `class` | `ViaRequest` This request interceptor can be used by an HTTP proxy or intemediary to add the `HttpHeaders.VIA` HTTP header to outgoing request messages.

  - ### Uses of Contract in org.apache.hc.core5.http2.config

    Classes in org.apache.hc.core5.http2.config with annotations of type Contract
    Modifier and Type | Class and Description
    --- | ---
    `class` | `H2Config` HTTP/2 protocol configuration.

  - ### Uses of Contract in org.apache.hc.core5.http2.impl.nio

    Classes in org.apache.hc.core5.http2.impl.nio with annotations of type Contract
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ClientH2StreamMultiplexerFactory` `ClientH2StreamMultiplexer` factory.
    `class` | `ClientH2UpgradeHandler` Protocol upgrade handler that upgrades the underlying `ProtocolIOSession` to HTTP/2 in case of a successful protocol negotiation.
    `class` | `ClientHttp1UpgradeHandler` Protocol upgrade handler that upgrades the underlying `ProtocolIOSession` to HTTP/1.1 in case of a successful protocol negotiation or as a default fall-back.
    `class` | `ClientHttpProtocolNegotiationStarter` Client I/O event starter that prepares I/O sessions for an initial protocol handshake.
    `interface` | `H2StreamListener` HTTP/2 stream event listener.
    `class` | `ServerH2StreamMultiplexerFactory` `ServerH2StreamMultiplexer` factory.
    `class` | `ServerH2UpgradeHandler` Protocol upgrade handler that upgrades the underlying `ProtocolIOSession` to HTTP/2 in case of a successful protocol negotiation.
    `class` | `ServerHttp1UpgradeHandler` Protocol upgrade handler that upgrades the underlying `ProtocolIOSession` to HTTP/1.1 in case of a successful protocol negotiation or as a default fall-back.
    `class` | `ServerHttpProtocolNegotiationStarter` Server I/O event starter that prepares I/O sessions for an initial protocol handshake.

  - ### Uses of Contract in org.apache.hc.core5.http2.nio.pool

    Classes in org.apache.hc.core5.http2.nio.pool with annotations of type Contract
    Modifier and Type | Class and Description
    --- | ---
    `class` | `H2ConnPool` Pool of HTTP/2 message multiplexing capable connections.

  - ### Uses of Contract in org.apache.hc.core5.http2.protocol

    Classes in org.apache.hc.core5.http2.protocol with annotations of type Contract
    Modifier and Type | Class and Description
    --- | ---
    `class` | `H2RequestConnControl` HTTP/2 compatible extension of `RequestConnControl`.
    `class` | `H2RequestContent` HTTP/2 compatible extension of `RequestContent`.
    `class` | `H2RequestTargetHost` HTTP/2 compatible extension of `RequestTargetHost`.
    `class` | `H2RequestValidateHost` HTTP/2 compatible extension of `RequestValidateHost`.
    `class` | `H2ResponseConnControl` HTTP/2 compatible extension of `ResponseConnControl`.
    `class` | `H2ResponseContent` HTTP/2 compatible extension of `ResponseContent`.

  - ### Uses of Contract in org.apache.hc.core5.net

    Classes in org.apache.hc.core5.net with annotations of type Contract
    Modifier and Type | Class and Description
    --- | ---
    `class` | `Host` Component that holds all details needed to describe a network connection to a host.
    `class` | `URIAuthority` Represents authority component of request `URI`.

  - ### Uses of Contract in org.apache.hc.core5.pool

    Classes in org.apache.hc.core5.pool with annotations of type Contract
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `ConnPoolListener<T>` Connection pool event listener.
    `class` | `LaxConnPool<T,C extends ModalCloseable>` Connection pool with higher concurrency but with lax connection limit guarantees.
    `class` | `PoolStats` Pool statistics.
    `class` | `StrictConnPool<T,C extends ModalCloseable>` Connection pool with strict connection limit guarantees.

  - ### Uses of Contract in org.apache.hc.core5.reactive

    Classes in org.apache.hc.core5.reactive with annotations of type Contract
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ReactiveEntityProducer` An `AsyncEntityProducer` that subscribes to a `Publisher` instance, as defined by the Reactive Streams specification.
    `class` | `ReactiveResponseConsumer` An `AsyncResponseConsumer` that publishes the response body through a `Publisher`, as defined by the Reactive Streams specification.

  - ### Uses of Contract in org.apache.hc.core5.reactor

    Classes in org.apache.hc.core5.reactor with annotations of type Contract
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractIOSessionPool<T>`
    `class` | `IOReactorConfig` I/O reactor configuration parameters.

  - ### Uses of Contract in org.apache.hc.core5.reactor.ssl

    Classes in org.apache.hc.core5.reactor.ssl with annotations of type Contract
    Modifier and Type | Class and Description
    --- | ---
    `class` | `SSLIOSession` `SSLIOSession` is a decorator class intended to transparently extend an `IOSession` with transport layer security capabilities based on the SSL/TLS protocol.

  - ### Uses of Contract in org.apache.hc.core5.testing.nio

    Classes in org.apache.hc.core5.testing.nio with annotations of type Contract
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ClientSessionEndpoint` Client endpoint that can be used to initiate HTTP message exchanges.

  - ### Uses of Contract in org.apache.hc.core5.util

    Classes in org.apache.hc.core5.util with annotations of type Contract
    Modifier and Type | Class and Description
    --- | ---
    `class` | `Timeout` Represents a timeout value as a non-negative `long` time and `TimeUnit`.
    `class` | `TimeValue` Represents a time value as a `long` time and a `TimeUnit`.
    `class` | `Tokenizer` Tokenizer that can be used as a foundation for more complex parsing routines.

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