Class AbstractHttpClientConnection
- java.lang.Object
-
- org.apache.http.impl.AbstractHttpClientConnection
-
- All Implemented Interfaces:
java.io.Closeable
,java.lang.AutoCloseable
,HttpClientConnection
,HttpConnection
- Direct Known Subclasses:
SocketHttpClientConnection
@Deprecated public abstract class AbstractHttpClientConnection extends java.lang.Object implements HttpClientConnection
Deprecated.(4.3) useDefaultBHttpClientConnection
Abstract client-side HTTP connection capable of transmitting and receiving data using arbitrarySessionInputBuffer
andSessionOutputBuffer
implementations.The following parameters can be used to customize the behavior of this class:
- Since:
- 4.0
-
-
Field Summary
Fields Modifier and Type Field Description private EntityDeserializer
entitydeserializer
Deprecated.private EntitySerializer
entityserializer
Deprecated.private EofSensor
eofSensor
Deprecated.private SessionInputBuffer
inBuffer
Deprecated.private HttpConnectionMetricsImpl
metrics
Deprecated.private SessionOutputBuffer
outbuffer
Deprecated.private HttpMessageWriter<HttpRequest>
requestWriter
Deprecated.private HttpMessageParser<HttpResponse>
responseParser
Deprecated.
-
Constructor Summary
Constructors Constructor Description AbstractHttpClientConnection()
Deprecated.Creates an instance of this class.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected abstract void
assertOpen()
Deprecated.Asserts if the connection is open.protected HttpConnectionMetricsImpl
createConnectionMetrics(HttpTransportMetrics inTransportMetric, HttpTransportMetrics outTransportMetric)
Deprecated.protected EntityDeserializer
createEntityDeserializer()
Deprecated.Creates an instance ofEntityDeserializer
with theLaxContentLengthStrategy
implementation to be used for de-serializing entities received over this connection.protected EntitySerializer
createEntitySerializer()
Deprecated.Creates an instance ofEntitySerializer
with theStrictContentLengthStrategy
implementation to be used for serializing HTTP entities sent over this connection.protected HttpResponseFactory
createHttpResponseFactory()
Deprecated.Creates an instance ofDefaultHttpResponseFactory
to be used for creatingHttpResponse
objects received by over this connection.protected HttpMessageWriter<HttpRequest>
createRequestWriter(SessionOutputBuffer buffer, HttpParams params)
Deprecated.Creates an instance ofHttpMessageWriter
to be used for writing out HTTP requests sent over this connection.protected HttpMessageParser<HttpResponse>
createResponseParser(SessionInputBuffer buffer, HttpResponseFactory responseFactory, HttpParams params)
Deprecated.Creates an instance ofHttpMessageParser
to be used for parsing HTTP responses received over this connection.protected void
doFlush()
Deprecated.void
flush()
Deprecated.Writes out all pending buffered data over the open connection.HttpConnectionMetrics
getMetrics()
Deprecated.Returns a collection of connection metrics.protected void
init(SessionInputBuffer sessionInputBuffer, SessionOutputBuffer sessionOutputBuffer, HttpParams params)
Deprecated.Initializes this connection object withSessionInputBuffer
andSessionOutputBuffer
instances to be used for sending and receiving data.protected boolean
isEof()
Deprecated.boolean
isResponseAvailable(int timeout)
Deprecated.Checks if response data is available from the connection.boolean
isStale()
Deprecated.Checks whether this connection has gone down.void
receiveResponseEntity(HttpResponse response)
Deprecated.Receives the next response entity available from this connection and attaches it to an existing HttpResponse object.HttpResponse
receiveResponseHeader()
Deprecated.Receives the request line and headers of the next response available from this connection.void
sendRequestEntity(HttpEntityEnclosingRequest request)
Deprecated.Sends the request entity over the connection.void
sendRequestHeader(HttpRequest request)
Deprecated.Sends the request line and all headers over the connection.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.http.HttpConnection
close, getSocketTimeout, isOpen, setSocketTimeout, shutdown
-
-
-
-
Field Detail
-
entityserializer
private final EntitySerializer entityserializer
Deprecated.
-
entitydeserializer
private final EntityDeserializer entitydeserializer
Deprecated.
-
inBuffer
private SessionInputBuffer inBuffer
Deprecated.
-
outbuffer
private SessionOutputBuffer outbuffer
Deprecated.
-
eofSensor
private EofSensor eofSensor
Deprecated.
-
responseParser
private HttpMessageParser<HttpResponse> responseParser
Deprecated.
-
requestWriter
private HttpMessageWriter<HttpRequest> requestWriter
Deprecated.
-
metrics
private HttpConnectionMetricsImpl metrics
Deprecated.
-
-
Constructor Detail
-
AbstractHttpClientConnection
public AbstractHttpClientConnection()
Deprecated.Creates an instance of this class.This constructor will invoke
createEntityDeserializer()
andcreateEntitySerializer()
methods in order to initialize HTTP entity serializer and deserializer implementations for this connection.
-
-
Method Detail
-
assertOpen
protected abstract void assertOpen() throws java.lang.IllegalStateException
Deprecated.Asserts if the connection is open.- Throws:
java.lang.IllegalStateException
- if the connection is not open.
-
createEntityDeserializer
protected EntityDeserializer createEntityDeserializer()
Deprecated.Creates an instance ofEntityDeserializer
with theLaxContentLengthStrategy
implementation to be used for de-serializing entities received over this connection.This method can be overridden in a super class in order to create instances of
EntityDeserializer
using a customContentLengthStrategy
.- Returns:
- HTTP entity deserializer
-
createEntitySerializer
protected EntitySerializer createEntitySerializer()
Deprecated.Creates an instance ofEntitySerializer
with theStrictContentLengthStrategy
implementation to be used for serializing HTTP entities sent over this connection.This method can be overridden in a super class in order to create instances of
EntitySerializer
using a customContentLengthStrategy
.- Returns:
- HTTP entity serialzier.
-
createHttpResponseFactory
protected HttpResponseFactory createHttpResponseFactory()
Deprecated.Creates an instance ofDefaultHttpResponseFactory
to be used for creatingHttpResponse
objects received by over this connection.This method can be overridden in a super class in order to provide a different implementation of the
HttpResponseFactory
interface.- Returns:
- HTTP response factory.
-
createResponseParser
protected HttpMessageParser<HttpResponse> createResponseParser(SessionInputBuffer buffer, HttpResponseFactory responseFactory, HttpParams params)
Deprecated.Creates an instance ofHttpMessageParser
to be used for parsing HTTP responses received over this connection.This method can be overridden in a super class in order to provide a different implementation of the
HttpMessageParser
interface or to pass a different implementation of theLineParser
to the theDefaultHttpResponseParser
constructor.- Parameters:
buffer
- the session input buffer.responseFactory
- the HTTP response factory.params
- HTTP parameters.- Returns:
- HTTP message parser.
-
createRequestWriter
protected HttpMessageWriter<HttpRequest> createRequestWriter(SessionOutputBuffer buffer, HttpParams params)
Deprecated.Creates an instance ofHttpMessageWriter
to be used for writing out HTTP requests sent over this connection.This method can be overridden in a super class in order to provide a different implementation of the
HttpMessageWriter
interface or to pass a different implementation ofLineFormatter
to the the default implementationHttpRequestWriter
.- Parameters:
buffer
- the session output bufferparams
- HTTP parameters- Returns:
- HTTP message writer
-
createConnectionMetrics
protected HttpConnectionMetricsImpl createConnectionMetrics(HttpTransportMetrics inTransportMetric, HttpTransportMetrics outTransportMetric)
Deprecated.- Since:
- 4.1
-
init
protected void init(SessionInputBuffer sessionInputBuffer, SessionOutputBuffer sessionOutputBuffer, HttpParams params)
Deprecated.Initializes this connection object withSessionInputBuffer
andSessionOutputBuffer
instances to be used for sending and receiving data. These session buffers can be bound to any arbitrary physical output medium.This method will invoke
createHttpResponseFactory()
,createRequestWriter(SessionOutputBuffer, HttpParams)
andcreateResponseParser(SessionInputBuffer, HttpResponseFactory, HttpParams)
methods to initialize HTTP request writer and response parser for this connection.- Parameters:
sessionInputBuffer
- the session input buffer.sessionOutputBuffer
- the session output buffer.params
- HTTP parameters.
-
isResponseAvailable
public boolean isResponseAvailable(int timeout) throws java.io.IOException
Deprecated.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
Deprecated.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
Deprecated.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
-
doFlush
protected void doFlush() throws java.io.IOException
Deprecated.- Throws:
java.io.IOException
-
flush
public void flush() throws java.io.IOException
Deprecated.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
-
receiveResponseHeader
public HttpResponse receiveResponseHeader() throws HttpException, java.io.IOException
Deprecated.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
Deprecated.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
-
isEof
protected boolean isEof()
Deprecated.
-
isStale
public boolean isStale()
Deprecated.Description copied from interface:HttpConnection
Checks whether this connection has gone down. Network connections may get closed during some time of inactivity for several reasons. The next time a read is attempted on such a connection it will throw an IOException. This method tries to alleviate this inconvenience by trying to find out if a connection is still usable. Implementations may do that by attempting a read with a very small timeout. Thus this method may block for a small amount of time before returning a result. It is therefore an expensive operation.- Specified by:
isStale
in interfaceHttpConnection
- Returns:
true
if attempts to use this connection are likely to succeed, orfalse
if they are likely to fail and this connection should be closed
-
getMetrics
public HttpConnectionMetrics getMetrics()
Deprecated.Description copied from interface:HttpConnection
Returns a collection of connection metrics.- Specified by:
getMetrics
in interfaceHttpConnection
- Returns:
- HttpConnectionMetrics
-
-