Package org.apache.http.impl
Class DefaultBHttpClientConnection
- java.lang.Object
-
- org.apache.http.impl.BHttpConnectionBase
-
- org.apache.http.impl.DefaultBHttpClientConnection
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
,HttpClientConnection
,HttpConnection
,HttpInetConnection
- Direct Known Subclasses:
DefaultManagedHttpClientConnection
public class DefaultBHttpClientConnection extends BHttpConnectionBase implements HttpClientConnection
Default implementation ofHttpClientConnection
.- Since:
- 4.3
-
-
Constructor Summary
Constructors Constructor Description DefaultBHttpClientConnection(int buffersize)
DefaultBHttpClientConnection(int buffersize, int fragmentSizeHint, java.nio.charset.CharsetDecoder chardecoder, java.nio.charset.CharsetEncoder charencoder, MessageConstraints constraints, ContentLengthStrategy incomingContentStrategy, ContentLengthStrategy outgoingContentStrategy, HttpMessageWriterFactory<HttpRequest> requestWriterFactory, HttpMessageParserFactory<HttpResponse> responseParserFactory)
Creates new instance of DefaultBHttpClientConnection.DefaultBHttpClientConnection(int buffersize, java.nio.charset.CharsetDecoder chardecoder, java.nio.charset.CharsetEncoder charencoder, MessageConstraints constraints)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
bind(java.net.Socket socket)
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 class org.apache.http.impl.BHttpConnectionBase
close, getLocalAddress, getLocalPort, getMetrics, getRemoteAddress, getRemotePort, getSocketTimeout, isOpen, isStale, setSocketTimeout, shutdown, toString
-
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.http.HttpConnection
close, getMetrics, getSocketTimeout, isOpen, isStale, setSocketTimeout, shutdown
-
-
-
-
Constructor Detail
-
DefaultBHttpClientConnection
public DefaultBHttpClientConnection(int buffersize, int fragmentSizeHint, java.nio.charset.CharsetDecoder chardecoder, java.nio.charset.CharsetEncoder charencoder, MessageConstraints constraints, ContentLengthStrategy incomingContentStrategy, ContentLengthStrategy outgoingContentStrategy, HttpMessageWriterFactory<HttpRequest> requestWriterFactory, HttpMessageParserFactory<HttpResponse> responseParserFactory)
Creates new instance of DefaultBHttpClientConnection.- Parameters:
buffersize
- buffer size. Must be a positive number.fragmentSizeHint
- fragment size hint.chardecoder
- decoder to be used for decoding HTTP protocol elements. Ifnull
simple type cast will be used for byte to char conversion.charencoder
- encoder to be used for encoding HTTP protocol elements. Ifnull
simple type cast will be used for char to byte conversion.constraints
- Message constraints. Ifnull
MessageConstraints.DEFAULT
will be used.incomingContentStrategy
- incoming content length strategy. Ifnull
LaxContentLengthStrategy.INSTANCE
will be used.outgoingContentStrategy
- outgoing content length strategy. Ifnull
StrictContentLengthStrategy.INSTANCE
will be used.requestWriterFactory
- request writer factory. Ifnull
DefaultHttpRequestWriterFactory.INSTANCE
will be used.responseParserFactory
- response parser factory. Ifnull
DefaultHttpResponseParserFactory.INSTANCE
will be used.
-
DefaultBHttpClientConnection
public DefaultBHttpClientConnection(int buffersize, java.nio.charset.CharsetDecoder chardecoder, java.nio.charset.CharsetEncoder charencoder, MessageConstraints constraints)
-
DefaultBHttpClientConnection
public DefaultBHttpClientConnection(int buffersize)
-
-
Method Detail
-
bind
public void bind(java.net.Socket socket) throws java.io.IOException
- Throws:
java.io.IOException
-
isResponseAvailable
public boolean isResponseAvailable(int timeout) throws java.io.IOException
Description copied from interface:HttpClientConnection
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.- Specified by:
isResponseAvailable
in interfaceHttpClientConnection
- 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
public void sendRequestHeader(HttpRequest request) throws HttpException, java.io.IOException
Description copied from interface:HttpClientConnection
Sends the request line and all headers over the connection.- Specified by:
sendRequestHeader
in interfaceHttpClientConnection
- 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
public void sendRequestEntity(HttpEntityEnclosingRequest request) throws HttpException, java.io.IOException
Description copied from interface:HttpClientConnection
Sends the request entity over the connection.- Specified by:
sendRequestEntity
in interfaceHttpClientConnection
- 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
public HttpResponse receiveResponseHeader() throws HttpException, java.io.IOException
Description copied from interface:HttpClientConnection
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.- Specified by:
receiveResponseHeader
in interfaceHttpClientConnection
- 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
public void receiveResponseEntity(HttpResponse response) throws HttpException, java.io.IOException
Description copied from interface:HttpClientConnection
Receives the next response entity available from this connection and attaches it to an existing HttpResponse object.- Specified by:
receiveResponseEntity
in interfaceHttpClientConnection
- 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
public void flush() throws java.io.IOException
Description copied from interface:HttpClientConnection
Writes out all pending buffered data over the open connection.- Specified by:
flush
in interfaceHttpClientConnection
- Throws:
java.io.IOException
- in case of an I/O error
-
-