Package org.apache.http
Interface HttpClientConnection
-
- All Superinterfaces:
java.lang.AutoCloseable
,java.io.Closeable
,HttpConnection
- All Known Subinterfaces:
ManagedClientConnection
,ManagedHttpClientConnection
,OperatedClientConnection
- All Known Implementing Classes:
AbstractClientConnAdapter
,AbstractHttpClientConnection
,AbstractPooledConnAdapter
,BasicPooledConnAdapter
,DefaultBHttpClientConnection
,DefaultClientConnection
,DefaultHttpClientConnection
,DefaultManagedHttpClientConnection
,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
All Methods Instance Methods Abstract Methods Modifier and Type Method 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 java.io.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:
java.io.IOException
- if an error happens on the connection
-
sendRequestHeader
void sendRequestHeader(HttpRequest request) throws HttpException, java.io.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 violationjava.io.IOException
- in case of an I/O error
-
sendRequestEntity
void sendRequestEntity(HttpEntityEnclosingRequest request) throws HttpException, java.io.IOException
Sends the request entity over the connection.- Parameters:
request
- the request whose entity to send.- Throws:
HttpException
- in case of HTTP protocol violationjava.io.IOException
- in case of an I/O error
-
receiveResponseHeader
HttpResponse receiveResponseHeader() throws HttpException, java.io.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 violationjava.io.IOException
- in case of an I/O error
-
receiveResponseEntity
void receiveResponseEntity(HttpResponse response) throws HttpException, java.io.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 violationjava.io.IOException
- in case of an I/O error
-
flush
void flush() throws java.io.IOException
Writes out all pending buffered data over the open connection.- Throws:
java.io.IOException
- in case of an I/O error
-
-