Call.execute

Invokes the request immediately, and blocks until the response can be processed or is in error.

<p>To avoid leaking resources callers should close the {@link Response} which in turn will close the underlying {@link ResponseBody}.

<pre>{@code

// ensure the response (and underlying response body) is closed try (Response response = client.newCall(request).execute()) { ... }

}</pre>

<p>The caller may read the response body with the response's {@link Response#body} method. To avoid leaking resources callers must {@linkplain ResponseBody close the response body} or the Response.

<p>Note that transport-layer success (receiving a HTTP response code, headers and body) does not necessarily indicate application-layer success: {@code response} may still indicate an unhappy HTTP response code like 404 or 500.

@throws IOException if the request could not be executed due to cancellation, a connectivity problem or timeout. Because networks can fail during an exchange, it is possible that the remote server accepted the request before the failure. @throws IllegalStateException when the call has already been executed.

interface Call
execute
()

Meta