# 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.web.client
Core package of the client-side web support.
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
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 a method and a 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
Description
`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
Description
`class`
`AbstractClientHttpRequest`
Abstract base for `ClientHttpRequest` that makes sure that headers and body are not written multiple times.

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

Subinterfaces of HttpMessage in org.springframework.http.client.reactive
Modifier and Type
Interface
Description
`interface`
`ClientHttpRequest`
Represents a client-side reactive HTTP request.
`interface`
`ClientHttpResponse`
Represents a client-side reactive HTTP response.
Classes in org.springframework.http.client.reactive that implement HttpMessage
Modifier and Type
Class
Description
`class`
`AbstractClientHttpRequest`
Base class for `ClientHttpRequest` implementations.
`class`
`AbstractClientHttpResponse`
Base class for `ClientHttpResponse` 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
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
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
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
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
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

Subinterfaces of HttpMessage in org.springframework.http.server.reactive
Modifier and Type
Interface
Description
`interface`
`ServerHttpRequest`
Represents a reactive server-side HTTP request.
`interface`
`ServerHttpResponse`
Represents a reactive server-side HTTP response.
Classes in org.springframework.http.server.reactive that implement HttpMessage
Modifier and Type
Class
Description
`class`
`AbstractListenerServerHttpResponse`
Abstract base class for listener-based server responses.
`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.web.client

Subinterfaces of HttpMessage in org.springframework.web.client
Modifier and Type
Interface
Description
`static interface`
`RestClient.RequestHeadersSpec.ConvertibleClientHttpResponse`
Extension of `ClientHttpResponse` that can convert the body.

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

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