## org.apache.http
Interface HttpClientConnection

All Superinterfaces:
  Closeable, HttpConnection

All Known Implementing Classes:
  AbstractHttpClientConnection, 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
`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.