okhttp / okhttp3 / Response

Response

class Response : Closeable

An HTTP response. Instances of this class are not immutable: the response body is a one-shot value that may be consumed only once and then closed. All other properties are immutable.

This class implements Closeable. Closing it simply closes its response body. See ResponseBody for an explanation and examples.

Types

Builder

class Builder

Properties

body

val body: ResponseBody?

Returns a non-null value if this response was passed to Callback.onResponse or returned from Call.execute. Response bodies must be closed and may be consumed only once.

cacheControl

val cacheControl: CacheControl

Returns the cache control directives for this response. This is never null, even if this response contains no Cache-Control header.

cacheResponse

val cacheResponse: Response?

Returns the raw response received from the cache. Will be null if this response didn't use the cache. For conditional get requests the cache response and network response may both be non-null. The body of the returned response should not be read.

code

val code: Int

Returns the HTTP status code.

handshake

val handshake: Handshake?

Returns the TLS handshake of the connection that carried this response, or null if the response was received without TLS.

headers

val headers: Headers

Returns the HTTP headers.

isRedirect

val isRedirect: Boolean

Returns true if this response redirects to another resource.

isSuccessful

val isSuccessful: Boolean

Returns true if the code is in [200..300), which means the request was successfully received, understood, and accepted.

message

val message: String

Returns the HTTP status message.

networkResponse

val networkResponse: Response?

Returns the raw response received from the network. Will be null if this response didn't use the network, such as when the response is fully cached. The body of the returned response should not be read.

priorResponse

val priorResponse: Response?

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. The body of the returned response should not be read because it has already been consumed by the redirecting client.

protocol

val protocol: Protocol

Returns the HTTP protocol, such as Protocol.HTTP_1_1 or Protocol.HTTP_1_0.

receivedResponseAtMillis

val receivedResponseAtMillis: Long

Returns a timestamp taken immediately after OkHttp received this response's headers from the network. If this response is being served from the cache then this is the timestamp of the original response.

request

val request: Request

The wire-level request that initiated this HTTP response. This is not necessarily the same request issued by the application:

sentRequestAtMillis

val sentRequestAtMillis: Long

Returns a timestamp taken immediately before OkHttp transmitted the initiating request over the network. If this response is being served from the cache then this is the timestamp of the original request.

Functions

challenges

fun challenges(): List<Challenge>

Returns the RFC 7235 authorization challenges appropriate for this response's code. If the response code is 401 unauthorized, this returns the "WWW-Authenticate" challenges. If the response code is 407 proxy unauthorized, this returns the "Proxy-Authenticate" challenges. Otherwise this returns an empty list of challenges.

close

fun close(): Unit

Closes the response body. Equivalent to body().close().

header

fun header(name: String, defaultValue: String? = null): String?

headers

fun headers(name: String): List<String>

newBuilder

fun newBuilder(): Response.Builder

peekBody

fun peekBody(byteCount: Long): ResponseBody

Peeks up to 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.

toString

fun toString(): String

trailers

fun trailers(): Headers

Returns the trailers after the HTTP response, which may be empty. It is an error to call this before the entire HTTP response body has been consumed.