-
- Type Parameters:
T
- the response body type
public interface HttpResponse<T>
An HTTP response.An
HttpResponse
is not created directly, but rather returned as a result of sending anHttpRequest
. AnHttpResponse
is made available when the response status code and headers have been received, and typically after the response body has also been completely received. Whether or not theHttpResponse
is made available before the response body has been completely received depends on theBodyHandler
provided when sending theHttpRequest
.This class provides methods for accessing the response status code, headers, the response body, and the
HttpRequest
corresponding to this response.The following is an example of retrieving a response as a String:
HttpResponse<String> response = client .send(request, BodyHandlers.ofString());
The class
BodyHandlers
provides implementations of many common response handlers. Alternatively, a customBodyHandler
implementation can be used.- Since:
- 11
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
HttpResponse.BodyHandler<T>
A handler for response bodies.static class
HttpResponse.BodyHandlers
Implementations ofBodyHandler
that implement various useful handlers, such as handling the response body as a String, or streaming the response body to a file.static interface
HttpResponse.BodySubscriber<T>
ABodySubscriber
consumes response body bytes and converts them into a higher-level Java type.static class
HttpResponse.BodySubscribers
Implementations ofBodySubscriber
that implement various useful subscribers, such as converting the response body bytes into a String, or streaming the bytes to a file.static interface
HttpResponse.PushPromiseHandler<T>
A handler for push promises.static interface
HttpResponse.ResponseInfo
Initial response information supplied to aBodyHandler
when a response is initially received and before the body is processed.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description T
body()
Returns the body.HttpHeaders
headers()
Returns the received response headers.Optional<HttpResponse<T>>
previousResponse()
Returns anOptional
containing the previous intermediate response if one was received.HttpRequest
request()
Returns theHttpRequest
corresponding to this response.Optional<SSLSession>
sslSession()
Returns anOptional
containing theSSLSession
in effect for this response.int
statusCode()
Returns the status code for this response.URI
uri()
Returns theURI
that the response was received from.HttpClient.Version
version()
Returns the HTTP protocol version that was used for this response.
-
-
-
Method Detail
-
statusCode
int statusCode()
Returns the status code for this response.- Returns:
- the response code
-
request
HttpRequest request()
Returns theHttpRequest
corresponding to this response.The returned
HttpRequest
may not be the initiating request provided when sending. For example, if the initiating request was redirected, then the request returned by this method will have the redirected URI, which will be different from the initiating request URI.- Returns:
- the request
- See Also:
previousResponse()
-
previousResponse
Optional<HttpResponse<T>> previousResponse()
Returns anOptional
containing the previous intermediate response if one was received. An intermediate response is one that is received as a result of redirection or authentication. If no previous response was received then an emptyOptional
is returned.- Returns:
- an Optional containing the HttpResponse, if any.
-
headers
HttpHeaders headers()
Returns the received response headers.- Returns:
- the response headers
-
body
T body()
Returns the body. Depending on the type ofT
, the returned body may represent the body after it was read (such asbyte[]
, orString
, orPath
) or it may represent an object with which the body is read, such as anInputStream
.If this
HttpResponse
was returned from an invocation ofpreviousResponse()
then this method returnsnull
- Returns:
- the body
-
sslSession
Optional<SSLSession> sslSession()
Returns anOptional
containing theSSLSession
in effect for this response. Returns an emptyOptional
if this is not a HTTPS response.- Returns:
- an
Optional
containing theSSLSession
associated with the response
-
uri
URI uri()
Returns theURI
that the response was received from. This may be different from the requestURI
if redirection occurred.- Returns:
- the URI of the response
-
version
HttpClient.Version version()
Returns the HTTP protocol version that was used for this response.- Returns:
- HTTP protocol version
-
-