ManagedHttpClientConnectionFactory
.@NotThreadSafe @Deprecated public class DefaultClientConnection extends SocketHttpClientConnection implements OperatedClientConnection, ManagedHttpClientConnection, HttpContext
RESERVED_PREFIX
Constructor and Description |
---|
DefaultClientConnection()
Deprecated.
|
Modifier and Type | Method and Description |
---|---|
void |
bind(java.net.Socket socket)
Deprecated.
Binds this connection to the given socket.
|
void |
close()
Deprecated.
Closes this connection gracefully.
|
protected HttpMessageParser<HttpResponse> |
createResponseParser(SessionInputBuffer buffer,
HttpResponseFactory responseFactory,
HttpParams params)
Deprecated.
Creates an instance of
HttpMessageParser to be used for parsing
HTTP responses received over this connection. |
protected SessionInputBuffer |
createSessionInputBuffer(java.net.Socket socket,
int buffersize,
HttpParams params)
Deprecated.
Creates an instance of
SocketInputBuffer to be used for
receiving data from the given Socket . |
protected SessionOutputBuffer |
createSessionOutputBuffer(java.net.Socket socket,
int buffersize,
HttpParams params)
Deprecated.
Creates an instance of
SessionOutputBuffer to be used for
sending data to the given Socket . |
java.lang.Object |
getAttribute(java.lang.String id)
Deprecated.
Obtains attribute with the given name.
|
java.lang.String |
getId()
Deprecated.
Returns connection ID which is expected to be unique
for the life span of the connection manager.
|
java.net.Socket |
getSocket()
Deprecated.
Obtains the socket for this connection.
|
javax.net.ssl.SSLSession |
getSSLSession()
Deprecated.
Obtains the SSL session of the underlying connection, if any.
|
HttpHost |
getTargetHost()
Deprecated.
Obtains the target host for this connection.
|
boolean |
isSecure()
Deprecated.
Indicates whether this connection is secure.
|
void |
openCompleted(boolean secure,
HttpParams params)
Deprecated.
Signals that the connection has been successfully open.
|
void |
opening(java.net.Socket sock,
HttpHost target)
Deprecated.
Signals that this connection is in the process of being open.
|
HttpResponse |
receiveResponseHeader()
Deprecated.
Receives the request line and headers of the next response available from
this connection.
|
java.lang.Object |
removeAttribute(java.lang.String id)
Deprecated.
Removes attribute with the given name from the context.
|
void |
sendRequestHeader(HttpRequest request)
Deprecated.
Sends the request line and all headers over the connection.
|
void |
setAttribute(java.lang.String id,
java.lang.Object obj)
Deprecated.
Sets value of the attribute with the given name.
|
void |
shutdown()
Deprecated.
Force-closes this connection.
|
void |
update(java.net.Socket sock,
HttpHost target,
boolean secure,
HttpParams params)
Deprecated.
Updates this connection.
|
assertNotOpen, assertOpen, bind, getLocalAddress, getLocalPort, getRemoteAddress, getRemotePort, getSocketTimeout, isOpen, setSocketTimeout, toString
createConnectionMetrics, createEntityDeserializer, createEntitySerializer, createHttpResponseFactory, createRequestWriter, doFlush, flush, getMetrics, init, isEof, isResponseAvailable, isStale, receiveResponseEntity, sendRequestEntity
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
flush, isResponseAvailable, receiveResponseEntity, sendRequestEntity
getLocalAddress, getLocalPort, getRemoteAddress, getRemotePort
getMetrics, getSocketTimeout, isOpen, isStale, setSocketTimeout
public java.lang.String getId()
ManagedHttpClientConnection
getId
in interface ManagedHttpClientConnection
public final HttpHost getTargetHost()
OperatedClientConnection
The return value is well-defined only while the connection is open.
It may change even while the connection is open,
because of an update
.
getTargetHost
in interface OperatedClientConnection
public final boolean isSecure()
OperatedClientConnection
update
.isSecure
in interface OperatedClientConnection
true
if this connection is secure,
false
otherwisepublic final java.net.Socket getSocket()
OperatedClientConnection
update
.getSocket
in interface ManagedHttpClientConnection
getSocket
in interface OperatedClientConnection
getSocket
in class SocketHttpClientConnection
target host
public javax.net.ssl.SSLSession getSSLSession()
ManagedHttpClientConnection
SSLSocket
, the SSL session of
that socket is obtained. This is a potentially blocking operation.getSSLSession
in interface ManagedHttpClientConnection
null
otherwisepublic void opening(java.net.Socket sock, HttpHost target) throws java.io.IOException
OperatedClientConnection
By calling this method, the connection can be re-initialized
with a new Socket instance before OperatedClientConnection.openCompleted(boolean, org.apache.http.params.HttpParams)
is called.
This enabled the connection to close that socket if
shutdown
is called before it is fully open. Closing an unconnected socket
will interrupt a thread that is blocked on the connect.
Otherwise, that thread will either time out on the connect,
or it returns successfully and then opens this connection
which was just shut down.
This method can be called multiple times if the connection is layered over another protocol. Note: This method will not close the previously used socket. It is the caller's responsibility to close that socket if it is no longer required.
The caller must invoke OperatedClientConnection.openCompleted(boolean, org.apache.http.params.HttpParams)
in order to complete
the process.
opening
in interface OperatedClientConnection
sock
- the unconnected socket which is about to
be connected.target
- the target host of this connectionjava.io.IOException
public void openCompleted(boolean secure, HttpParams params) throws java.io.IOException
OperatedClientConnection
openCompleted
in interface OperatedClientConnection
secure
- true
if this connection is secure, for
example if an SSLSocket
is used, or
false
if it is not secureparams
- parameters for this connection. The parameters will
be used when creating dependent objects, for example
to determine buffer sizes.java.io.IOException
public void shutdown() throws java.io.IOException
opening
was already called but
openCompleted
was not), the associated
socket that is being connected to a remote address will be closed.
That will interrupt a thread that is blocked on connecting
the socket.
If the connection is not yet open, this will prevent the connection
from being opened.shutdown
in interface HttpConnection
shutdown
in class SocketHttpClientConnection
java.io.IOException
- in case of a problempublic void close() throws java.io.IOException
HttpConnection
shutdown
instead.close
in interface java.io.Closeable
close
in interface java.lang.AutoCloseable
close
in interface HttpConnection
close
in class SocketHttpClientConnection
java.io.IOException
protected SessionInputBuffer createSessionInputBuffer(java.net.Socket socket, int buffersize, HttpParams params) throws java.io.IOException
SocketHttpClientConnection
SocketInputBuffer
to be used for
receiving data from the given Socket
.
This method can be overridden in a super class in order to provide
a custom implementation of SessionInputBuffer
interface.
createSessionInputBuffer
in class SocketHttpClientConnection
socket
- the socket.buffersize
- the buffer size.params
- HTTP parameters.java.io.IOException
- in case of an I/O error.SocketInputBuffer.SocketInputBuffer(Socket, int, HttpParams)
protected SessionOutputBuffer createSessionOutputBuffer(java.net.Socket socket, int buffersize, HttpParams params) throws java.io.IOException
SocketHttpClientConnection
SessionOutputBuffer
to be used for
sending data to the given Socket
.
This method can be overridden in a super class in order to provide
a custom implementation of SocketOutputBuffer
interface.
createSessionOutputBuffer
in class SocketHttpClientConnection
socket
- the socket.buffersize
- the buffer size.params
- HTTP parameters.java.io.IOException
- in case of an I/O error.SocketOutputBuffer.SocketOutputBuffer(Socket, int, HttpParams)
protected HttpMessageParser<HttpResponse> createResponseParser(SessionInputBuffer buffer, HttpResponseFactory responseFactory, HttpParams params)
AbstractHttpClientConnection
HttpMessageParser
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 the
LineParser
to the the
DefaultHttpResponseParser
constructor.
createResponseParser
in class AbstractHttpClientConnection
buffer
- the session input buffer.responseFactory
- the HTTP response factory.params
- HTTP parameters.public void bind(java.net.Socket socket) throws java.io.IOException
ManagedHttpClientConnection
bind
in interface ManagedHttpClientConnection
socket
- the socket to bind the connection to.java.io.IOException
public void update(java.net.Socket sock, HttpHost target, boolean secure, HttpParams params) throws java.io.IOException
OperatedClientConnection
Note: Updating the connection will not close the previously used socket. It is the caller's responsibility to close that socket if it is no longer required.
update
in interface OperatedClientConnection
sock
- the new socket for communicating with the target host,
or null
to continue using the old socket.
If null
is passed, helper objects that
depend on the socket should be re-used. In that case,
some changes in the parameters will not take effect.target
- the new target host of this connectionsecure
- true
if this connection is now secure,
false
if it is not secureparams
- new parameters for this connectionjava.io.IOException
public HttpResponse receiveResponseHeader() throws HttpException, java.io.IOException
HttpClientConnection
receiveResponseHeader
in interface HttpClientConnection
receiveResponseHeader
in class AbstractHttpClientConnection
HttpException
- in case of HTTP protocol violationjava.io.IOException
- in case of an I/O errorpublic void sendRequestHeader(HttpRequest request) throws HttpException, java.io.IOException
HttpClientConnection
sendRequestHeader
in interface HttpClientConnection
sendRequestHeader
in class AbstractHttpClientConnection
request
- the request whose headers to send.HttpException
- in case of HTTP protocol violationjava.io.IOException
- in case of an I/O errorpublic java.lang.Object getAttribute(java.lang.String id)
HttpContext
getAttribute
in interface HttpContext
id
- the attribute name.null
if not set.public java.lang.Object removeAttribute(java.lang.String id)
HttpContext
removeAttribute
in interface HttpContext
id
- the attribute name.null
if not set.public void setAttribute(java.lang.String id, java.lang.Object obj)
HttpContext
setAttribute
in interface HttpContext
id
- the attribute name.obj
- the attribute value.