public final class Response extends Object implements Closeable
This class implements Closeable
. Closing it simply closes its response body. See
ResponseBody
for an explanation and examples.
Modifier and Type | Class and Description |
---|---|
static class |
Response.Builder |
Modifier and Type | Method and Description |
---|---|
ResponseBody |
body()
Returns a non-null value if this response was passed to
Callback.onResponse(okhttp3.Call, okhttp3.Response) or returned
from Call.execute() . |
CacheControl |
cacheControl()
Returns the cache control directives for this response.
|
Response |
cacheResponse()
Returns the raw response received from the cache.
|
List<Challenge> |
challenges()
Returns the RFC 7235 authorization challenges appropriate for this response's code.
|
void |
close()
Closes the response body.
|
int |
code()
Returns the HTTP status code.
|
Handshake |
handshake()
Returns the TLS handshake of the connection that carried this response, or null if the response
was received without TLS.
|
String |
header(String name) |
String |
header(String name,
String defaultValue) |
Headers |
headers() |
List<String> |
headers(String name) |
boolean |
isRedirect()
Returns true if this response redirects to another resource.
|
boolean |
isSuccessful()
Returns true if the code is in [200..300), which means the request was successfully received,
understood, and accepted.
|
String |
message()
Returns the HTTP status message.
|
Response |
networkResponse()
Returns the raw response received from the network.
|
Response.Builder |
newBuilder() |
ResponseBody |
peekBody(long byteCount)
Peeks up to
byteCount bytes from the response body and returns them as a new response
body. |
Response |
priorResponse()
Returns the response for the HTTP redirect or authorization challenge that triggered this
response, or null if this response wasn't triggered by an automatic retry.
|
Protocol |
protocol()
Returns the HTTP protocol, such as
Protocol.HTTP_1_1 or Protocol.HTTP_1_0 . |
long |
receivedResponseAtMillis()
Returns a timestamp taken immediately after OkHttp
received this response's headers from the network.
|
Request |
request()
The wire-level request that initiated this HTTP response.
|
long |
sentRequestAtMillis()
Returns a timestamp taken immediately before OkHttp
transmitted the initiating request over the network.
|
String |
toString() |
Headers |
trailers()
Returns the trailers after the HTTP response, which may be empty.
|
public Request request()
Content-Length
from the request body.
public Protocol protocol()
Protocol.HTTP_1_1
or Protocol.HTTP_1_0
.public int code()
public boolean isSuccessful()
public String message()
@Nullable public Handshake handshake()
public Headers headers()
public Headers trailers() throws IOException
IOException
public ResponseBody peekBody(long byteCount) throws IOException
byteCount
bytes from the response body and returns them as a new response
body. If fewer than byteCount
bytes are in the response body, the full response body is
returned. If more than byteCount
bytes are in the response body, the returned value
will be truncated to byteCount
bytes.
It is an error to call this method after the body has been consumed.
Warning: this method loads the requested bytes into memory. Most
applications should set a modest limit on byteCount
, such as 1 MiB.
IOException
@Nullable public ResponseBody body()
Callback.onResponse(okhttp3.Call, okhttp3.Response)
or returned
from Call.execute()
. Response bodies must be closed and may
be consumed only once.
This always returns null on responses returned from cacheResponse
, networkResponse
, and priorResponse()
.
public Response.Builder newBuilder()
public boolean isRedirect()
@Nullable public Response networkResponse()
@Nullable public Response cacheResponse()
@Nullable public Response priorResponse()
public List<Challenge> challenges()
If a challenge uses the token68
variant instead of auth params, there is exactly one
auth param in the challenge at key null
. Invalid headers and challenges are ignored.
No semantic validation is done, for example that Basic
auth must have a realm
auth param, this is up to the caller that interprets these challenges.
public CacheControl cacheControl()
Cache-Control
header.public long sentRequestAtMillis()
public long receivedResponseAtMillis()
public void close()
body().close()
.
It is an error to close a response that is not eligible for a body. This includes the
responses returned from cacheResponse
, networkResponse
, and priorResponse()
.
close
in interface Closeable
close
in interface AutoCloseable
Copyright © 2020. All rights reserved.