org.apache.http

## Interface HttpClientConnection

- All Superinterfaces:
    AutoCloseable, Closeable, HttpConnection
  All Known Implementing Classes:
    AbstractHttpClientConnection, DefaultBHttpClientConnection, DefaultHttpClientConnection, SocketHttpClientConnection

      public interface HttpClientConnection
      extends HttpConnection

  A client-side HTTP connection, which can be used for sending requests and receiving responses.
  Since:
    4.0

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `flush()` Writes out all pending buffered data over the open connection.
    `boolean` | `isResponseAvailable(int timeout)` Checks if response data is available from the connection.
    `void` | `receiveResponseEntity(HttpResponse response)` Receives the next response entity available from this connection and attaches it to an existing HttpResponse object.
    `HttpResponse` | `receiveResponseHeader()` Receives the request line and headers of the next response available from this connection.
    `void` | `sendRequestEntity(HttpEntityEnclosingRequest request)` Sends the request entity over the connection.
    `void` | `sendRequestHeader(HttpRequest request)` Sends the request line and all headers over the connection.

    - ### Methods inherited from interface org.apache.http.HttpConnection

      `close, getMetrics, getSocketTimeout, isOpen, isStale, setSocketTimeout, shutdown`

- - ### Method Detail

    - #### isResponseAvailable

          boolean isResponseAvailable(int timeout)
                                      throws IOException

      Checks if response data is available from the connection. May wait for the specified time until some data becomes available. Note that some implementations may completely ignore the timeout parameter.
      Parameters:
        `timeout` - the maximum time in milliseconds to wait for data
      Returns:
        true if data is available; false if there was no data available even after waiting for `timeout` milliseconds.
      Throws:
        `IOException` - if an error happens on the connection

    - #### sendRequestHeader

          void sendRequestHeader(HttpRequest request)
                                 throws HttpException,
                                        IOException

      Sends the request line and all headers over the connection.
      Parameters:
        `request` - the request whose headers to send.
      Throws:
        `HttpException` - in case of HTTP protocol violation
        `IOException` - in case of an I/O error

    - #### sendRequestEntity

          void sendRequestEntity(HttpEntityEnclosingRequest request)
                                 throws HttpException,
                                        IOException

      Sends the request entity over the connection.
      Parameters:
        `request` - the request whose entity to send.
      Throws:
        `HttpException` - in case of HTTP protocol violation
        `IOException` - in case of an I/O error

    - #### receiveResponseHeader

          HttpResponse receiveResponseHeader()
                                             throws HttpException,
                                                    IOException

      Receives the request line and headers of the next response available from this connection. The caller should examine the HttpResponse object to find out if it should try to receive a response entity as well.
      Returns:
        a new HttpResponse object with status line and headers initialized.
      Throws:
        `HttpException` - in case of HTTP protocol violation
        `IOException` - in case of an I/O error

    - #### receiveResponseEntity

          void receiveResponseEntity(HttpResponse response)
                                     throws HttpException,
                                            IOException

      Receives the next response entity available from this connection and attaches it to an existing HttpResponse object.
      Parameters:
        `response` - the response to attach the entity to
      Throws:
        `HttpException` - in case of HTTP protocol violation
        `IOException` - in case of an I/O error

    - #### flush

          void flush()
                     throws IOException

      Writes out all pending buffered data over the open connection.
      Throws:
        `IOException` - in case of an I/O error

Copyright © 2005–2013 The Apache Software Foundation. All rights reserved.