Interface Call



  • public interface Call
    A call is a request that has been prepared for execution. A call can be canceled. As this object represents a single request/response pair (stream), it cannot be executed twice.
    • Nested Class Summary

      Nested Classes

      Modifier and Type Interface and Description
      static interface  Call.Factory
       
    • Method Summary

      Modifier and Type Method and Description
      void cancel()
      Cancels the request, if possible.
      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.
      boolean isCanceled()
       
      boolean isExecuted()
      Returns true if this call has been either executed or enqueued.
      Request request()
      Returns the original request that initiated this call.
    • Method Detail

      • request

        Request request()
        Returns the original request that initiated this call.
      • execute

        Response execute()
                  throws IOException
        Invokes the request immediately, and blocks until the response can be processed or is in error.

        The caller may read the response body with the response's Response.body method. To facilitate connection recycling, callers should always close the response body.

        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.

        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.
        IllegalStateException - when the call has already been executed.
      • enqueue

        void enqueue(Callback responseCallback)
        Schedules the request to be executed at some point in the future.

        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.

        Throws:
        IllegalStateException - when the call has already been executed.
      • cancel

        void cancel()
        Cancels the request, if possible. Requests that are already complete cannot be canceled.
      • isExecuted

        boolean isExecuted()
        Returns true if this call has been either executed or enqueued. It is an error to execute a call more than once.
      • isCanceled

        boolean isCanceled()