Class ClientCall

java.lang.Object
org.restlet.engine.adapter.Call
org.restlet.engine.adapter.ClientCall
Direct Known Subclasses:
HttpUrlConnectionCall

public abstract class ClientCall extends Call
Low-level HTTP client call.
Author:
Jerome Louvel
  • Constructor Details

    • ClientCall

      public ClientCall(HttpClientHelper helper, String method, String requestUri)
      Constructor setting the request address to the local host.
      Parameters:
      helper - The parent HTTP client helper.
      method - The method name.
      requestUri - The request URI.
  • Method Details

    • getLocalAddress

      public static String getLocalAddress()
      Returns the local IP address or 127.0.0.1 if the resolution fails.
      Returns:
      The local IP address or 127.0.0.1 if the resolution fails.
    • getContentLength

      protected long getContentLength()
      Returns the content length of the request entity if know, Representation.UNKNOWN_SIZE otherwise.
      Returns:
      The request content length.
    • getHelper

      public HttpClientHelper getHelper()
      Returns the HTTP client helper.
      Returns:
      The HTTP client helper.
    • getRequestEntityStream

      public abstract OutputStream getRequestEntityStream()
      Returns the request entity stream if it exists.
      Returns:
      The request entity stream if it exists.
    • getRequestHeadStream

      public abstract OutputStream getRequestHeadStream()
      Returns the request head stream if it exists.
      Returns:
      The request head stream if it exists.
    • getResponseEntity

      public Representation getResponseEntity(Response response)
      Returns the response entity if available. Note that no metadata is associated by default, you have to manually set them from your headers.
      Parameters:
      response - the Response to get the entity from
      Returns:
      The response entity if available.
    • getResponseEntityStream

      public abstract InputStream getResponseEntityStream(long size)
      Returns the response entity stream if it exists.
      Parameters:
      size - The expected entity size or -1 if unknown.
      Returns:
      The response entity stream if it exists.
    • isClientKeepAlive

      protected boolean isClientKeepAlive()
      Description copied from class: Call
      Indicates if the client wants a persistent connection.
      Specified by:
      isClientKeepAlive in class Call
      Returns:
      True if the client wants a persistent connection.
    • isServerKeepAlive

      protected boolean isServerKeepAlive()
      Description copied from class: Call
      Indicates if the server wants a persistent connection.
      Specified by:
      isServerKeepAlive in class Call
      Returns:
      True if the server wants a persistent connection.
    • sendRequest

      public Status sendRequest(Request request)
      Sends the request to the client. Commits the request line, headers and optional entity and send them over the network.
      Parameters:
      request - The high-level request.
      Returns:
      the status of the communication
    • sendRequest

      public void sendRequest(Request request, Response response, Uniform callback) throws Exception
      Sends the request to the client. Commits the request line, headers and optional entity and send them over the network.
      Parameters:
      request - The high-level request.
      response - The high-level response.
      callback - The callback invoked upon request completion.
      Throws:
      Exception
    • shouldRequestBeChunked

      protected boolean shouldRequestBeChunked(Request request)
      Indicates if the request entity should be chunked.
      Returns:
      True if the request should be chunked