## Uses of Interface
org.springframework.http.HttpMessage

- Packages that use HttpMessage
  Package | Description
  --- | ---
  org.springframework.http | Contains a basic abstraction over client/server-side HTTP.
  org.springframework.http.client | Contains an abstraction over client-side HTTP.
  org.springframework.http.client.reactive | Abstractions for reactive HTTP client support including `ClientHttpRequest` and `ClientHttpResponse` as well as a `ClientHttpConnector`.
  org.springframework.http.client.support | This package provides generic HTTP support classes, to be used by higher-level classes like RestTemplate.
  org.springframework.http.codec | Provides implementations of `Encoder` and `Decoder` for web use.
  org.springframework.http.converter.json | Provides HttpMessageConverter implementations for handling JSON.
  org.springframework.http.server | Contains an abstraction over server-side HTTP.
  org.springframework.http.server.reactive | Abstractions for reactive HTTP server support including a `ServerHttpRequest` and `ServerHttpResponse` along with an `HttpHandler` for processing.
  org.springframework.mock.http | Mock implementations of client/server-side HTTP abstractions.
  org.springframework.mock.http.client | Mock implementations of client-side HTTP abstractions.
  org.springframework.mock.http.client.reactive | Mock implementations of reactive HTTP client contracts.
  org.springframework.mock.http.server.reactive | Mock implementations of reactive HTTP server contracts.
  org.springframework.test.web.reactive.server | Support for testing Spring WebFlux server endpoints via `WebTestClient`.
  org.springframework.web.multipart.support | Support classes for the multipart resolution framework.

- - ### Uses of HttpMessage in org.springframework.http

    Subinterfaces of HttpMessage in org.springframework.http
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `HttpInputMessage` Represents an HTTP input message, consisting of headers and a readable body.
    `interface` | `HttpOutputMessage` Represents an HTTP output message, consisting of headers and a writable body.
    `interface` | `HttpRequest` Represents an HTTP request message, consisting of method and uri.
    `interface` | `ReactiveHttpInputMessage` A "reactive" HTTP input message that exposes the input as `Publisher`.
    `interface` | `ReactiveHttpOutputMessage` A "reactive" HTTP output message that accepts output as a `Publisher`.
    `interface` | `StreamingHttpOutputMessage` Represents an HTTP output message that allows for setting a streaming body.
    `interface` | `ZeroCopyHttpOutputMessage` Sub-interface of `ReactiveOutputMessage` that has support for "zero-copy" file transfers.

  - ### Uses of HttpMessage in org.springframework.http.client

    Subinterfaces of HttpMessage in org.springframework.http.client
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `AsyncClientHttpRequest` Deprecated. as of Spring 5.0, in favor of `ClientRequest`
    `interface` | `ClientHttpRequest` Represents a client-side HTTP request.
    `interface` | `ClientHttpResponse` Represents a client-side HTTP response.

    Classes in org.springframework.http.client that implement HttpMessage
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractClientHttpResponse` Abstract base for `ClientHttpResponse`.

  - ### Uses of HttpMessage in org.springframework.http.client.reactive

    Classes in org.springframework.http.client.reactive that implement HttpMessage
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractClientHttpRequest` Base class for `ClientHttpRequest` implementations.
    `class` | `ClientHttpRequestDecorator` Wraps another `ClientHttpRequest` and delegates all methods to it.
    `class` | `ClientHttpResponseDecorator` Wraps another `ClientHttpResponse` and delegates all methods to it.

  - ### Uses of HttpMessage in org.springframework.http.client.support

    Classes in org.springframework.http.client.support that implement HttpMessage
    Modifier and Type | Class and Description
    --- | ---
    `class` | `HttpRequestWrapper` Provides a convenient implementation of the `HttpRequest` interface that can be overridden to adapt the request.

  - ### Uses of HttpMessage in org.springframework.http.codec

    Methods in org.springframework.http.codec with parameters of type HttpMessage
    Modifier and Type | Method and Description
    --- | ---
    `protected MediaType` | DecoderHttpMessageReader.`getContentType(HttpMessage inputMessage)` Determine the Content-Type of the HTTP message based on the "Content-Type" header or otherwise default to `MediaType.APPLICATION_OCTET_STREAM`.

  - ### Uses of HttpMessage in org.springframework.http.converter.json

    Classes in org.springframework.http.converter.json that implement HttpMessage
    Modifier and Type | Class and Description
    --- | ---
    `class` | `MappingJacksonInputMessage` `HttpInputMessage` that can eventually stores a Jackson view that will be used to deserialize the message.

  - ### Uses of HttpMessage in org.springframework.http.server

    Subinterfaces of HttpMessage in org.springframework.http.server
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `ServerHttpRequest` Represents a server-side HTTP request.
    `interface` | `ServerHttpResponse` Represents a server-side HTTP response.

    Classes in org.springframework.http.server that implement HttpMessage
    Modifier and Type | Class and Description
    --- | ---
    `class` | `DelegatingServerHttpResponse` Implementation of `ServerHttpResponse` that delegates all calls to a given target `ServerHttpResponse`.
    `class` | `ServletServerHttpRequest` `ServerHttpRequest` implementation that is based on a `HttpServletRequest`.
    `class` | `ServletServerHttpResponse` `ServerHttpResponse` implementation that is based on a `HttpServletResponse`.

  - ### Uses of HttpMessage in org.springframework.http.server.reactive

    Classes in org.springframework.http.server.reactive that implement HttpMessage
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractListenerServerHttpResponse` Abstract base class for listener-based server responses, e.g.
    `class` | `AbstractServerHttpRequest` Common base class for `ServerHttpRequest` implementations.
    `class` | `AbstractServerHttpResponse` Base class for `ServerHttpResponse` implementations.
    `class` | `HttpHeadResponseDecorator` `ServerHttpResponse` decorator for HTTP HEAD requests.
    `class` | `ServerHttpRequestDecorator` Wraps another `ServerHttpRequest` and delegates all methods to it.
    `class` | `ServerHttpResponseDecorator` Wraps another `ServerHttpResponse` and delegates all methods to it.

  - ### Uses of HttpMessage in org.springframework.mock.http

    Classes in org.springframework.mock.http that implement HttpMessage
    Modifier and Type | Class and Description
    --- | ---
    `class` | `MockHttpInputMessage` Mock implementation of `HttpInputMessage`.
    `class` | `MockHttpOutputMessage` Mock implementation of `HttpOutputMessage`.

  - ### Uses of HttpMessage in org.springframework.mock.http.client

    Classes in org.springframework.mock.http.client that implement HttpMessage
    Modifier and Type | Class and Description
    --- | ---
    `class` | `MockAsyncClientHttpRequest` Deprecated. as of Spring 5.0, with no direct replacement

  - ### Uses of HttpMessage in org.springframework.mock.http.client.reactive

    Classes in org.springframework.mock.http.client.reactive that implement HttpMessage
    Modifier and Type | Class and Description
    --- | ---
    `class` | `MockClientHttpRequest` Mock implementation of `ClientHttpRequest`.
    `class` | `MockClientHttpResponse` Mock implementation of `ClientHttpResponse`.

  - ### Uses of HttpMessage in org.springframework.mock.http.server.reactive

    Classes in org.springframework.mock.http.server.reactive that implement HttpMessage
    Modifier and Type | Class and Description
    --- | ---
    `class` | `MockServerHttpRequest` Mock extension of `AbstractServerHttpRequest` for use in tests without an actual server.
    `class` | `MockServerHttpResponse` Mock extension of `AbstractServerHttpResponse` for use in tests without an actual server.

  - ### Uses of HttpMessage in org.springframework.test.web.reactive.server

    Subinterfaces of HttpMessage in org.springframework.test.web.reactive.server
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `MockServerClientHttpResponse` Simple `ClientHttpResponse` extension that also exposes a result object from the underlying mock server exchange for further assertions on the state of the server response after the request is performed.

  - ### Uses of HttpMessage in org.springframework.web.multipart.support

    Classes in org.springframework.web.multipart.support that implement HttpMessage
    Modifier and Type | Class and Description
    --- | ---
    `class` | `RequestPartServletServerHttpRequest` `ServerHttpRequest` implementation that accesses one part of a multipart request.