Modifier and Type | Class and Description |
---|---|
(package private) class |
RealCall.AsyncCall |
Call.Factory
Modifier and Type | Field and Description |
---|---|
(package private) OkHttpClient |
client |
private EventListener |
eventListener
There is a cycle between the
Call and EventListener that makes this awkward. |
private boolean |
executed |
(package private) boolean |
forWebSocket |
(package private) Request |
originalRequest
The application's original request unadulterated by redirects or auth headers.
|
(package private) RetryAndFollowUpInterceptor |
retryAndFollowUpInterceptor |
Modifier | Constructor and Description |
---|---|
private |
RealCall(OkHttpClient client,
Request originalRequest,
boolean forWebSocket) |
Modifier and Type | Method and Description |
---|---|
void |
cancel()
Cancels the request, if possible.
|
private void |
captureCallStackTrace() |
RealCall |
clone()
Create a new, identical call to this one which can be enqueued or executed even if this call
has already been.
|
void |
enqueue(Callback responseCallback)
Schedules the request to be executed at some point in the future.
|
Response |
execute()
Invokes the request immediately, and blocks until the response can be processed or is in
error.
|
(package private) Response |
getResponseWithInterceptorChain() |
boolean |
isCanceled() |
boolean |
isExecuted()
|
(package private) static RealCall |
newRealCall(OkHttpClient client,
Request originalRequest,
boolean forWebSocket) |
(package private) java.lang.String |
redactedUrl() |
Request |
request()
Returns the original request that initiated this call.
|
(package private) StreamAllocation |
streamAllocation() |
(package private) java.lang.String |
toLoggableString()
Returns a string that describes this call.
|
final OkHttpClient client
final RetryAndFollowUpInterceptor retryAndFollowUpInterceptor
private EventListener eventListener
Call
and EventListener
that makes this awkward.
This will be set after we create the call instance then create the event listener instance.final Request originalRequest
final boolean forWebSocket
private boolean executed
private RealCall(OkHttpClient client, Request originalRequest, boolean forWebSocket)
static RealCall newRealCall(OkHttpClient client, Request originalRequest, boolean forWebSocket)
public Request request()
Call
public Response execute() throws java.io.IOException
Call
To avoid leaking resources callers should close the Response
which in turn will
close the underlying ResponseBody
.
@{code // ensure the response (and underlying response body) is closed try (Response response = client.newCall(request).execute()) { ... } }
The caller may read the response body with the response's Response.body
method. To
avoid leaking resources callers must close the response body or the
Response.
Note that transport-layer success (receiving a HTTP response code, headers and body) does
not necessarily indicate application-layer success: response
may still indicate an
unhappy HTTP response code like 404 or 500.
private void captureCallStackTrace()
public void enqueue(Callback responseCallback)
Call
The dispatcher
defines when the request will run: usually
immediately unless there are several other requests currently being executed.
This client will later call back responseCallback
with either an HTTP response or a
failure exception.
public void cancel()
Call
public boolean isExecuted()
Call
isExecuted
in interface Call
public boolean isCanceled()
isCanceled
in interface Call
public RealCall clone()
Call
StreamAllocation streamAllocation()
java.lang.String toLoggableString()
java.lang.String redactedUrl()
Response getResponseWithInterceptorChain() throws java.io.IOException
java.io.IOException