@NotThreadSafe public class DefaultClientConnection extends org.apache.http.impl.SocketHttpClientConnection implements OperatedClientConnection, org.apache.http.protocol.HttpContext
The following parameters can be used to customize the behavior of this class:
CoreProtocolPNames.STRICT_TRANSFER_ENCODING
CoreProtocolPNames.HTTP_ELEMENT_CHARSET
CoreConnectionPNames.SOCKET_BUFFER_SIZE
CoreConnectionPNames.MAX_LINE_LENGTH
CoreConnectionPNames.MAX_HEADER_COUNT
Constructor and Description |
---|
DefaultClientConnection() |
Modifier and Type | Method and Description |
---|---|
void |
close() |
protected org.apache.http.io.HttpMessageParser<org.apache.http.HttpResponse> |
createResponseParser(org.apache.http.io.SessionInputBuffer buffer,
org.apache.http.HttpResponseFactory responseFactory,
org.apache.http.params.HttpParams params) |
protected org.apache.http.io.SessionInputBuffer |
createSessionInputBuffer(Socket socket,
int buffersize,
org.apache.http.params.HttpParams params) |
protected org.apache.http.io.SessionOutputBuffer |
createSessionOutputBuffer(Socket socket,
int buffersize,
org.apache.http.params.HttpParams params) |
Object |
getAttribute(String id) |
Socket |
getSocket()
Obtains the socket for this connection.
|
org.apache.http.HttpHost |
getTargetHost()
Obtains the target host for this connection.
|
boolean |
isSecure()
Indicates whether this connection is secure.
|
void |
openCompleted(boolean secure,
org.apache.http.params.HttpParams params)
Signals that the connection has been successfully open.
|
void |
opening(Socket sock,
org.apache.http.HttpHost target)
Signals that this connection is in the process of being open.
|
org.apache.http.HttpResponse |
receiveResponseHeader() |
Object |
removeAttribute(String id) |
void |
sendRequestHeader(org.apache.http.HttpRequest request) |
void |
setAttribute(String id,
Object obj) |
void |
shutdown()
Force-closes this connection.
|
void |
update(Socket sock,
org.apache.http.HttpHost target,
boolean secure,
org.apache.http.params.HttpParams params)
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
public final org.apache.http.HttpHost getTargetHost()
OperatedClientConnection
update
.getTargetHost
in interface OperatedClientConnection
public final boolean isSecure()
OperatedClientConnection
update
.isSecure
in interface OperatedClientConnection
true
if this connection is secure,
false
otherwisepublic final Socket getSocket()
OperatedClientConnection
update
.getSocket
in interface OperatedClientConnection
getSocket
in class org.apache.http.impl.SocketHttpClientConnection
target host
public void opening(Socket sock, org.apache.http.HttpHost target) throws 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 connectionIOException
public void openCompleted(boolean secure, org.apache.http.params.HttpParams params) throws 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.IOException
public void shutdown() throws 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 org.apache.http.HttpConnection
shutdown
in class org.apache.http.impl.SocketHttpClientConnection
IOException
- in case of a problempublic void close() throws IOException
close
in interface Closeable
close
in interface AutoCloseable
close
in interface org.apache.http.HttpConnection
close
in class org.apache.http.impl.SocketHttpClientConnection
IOException
protected org.apache.http.io.SessionInputBuffer createSessionInputBuffer(Socket socket, int buffersize, org.apache.http.params.HttpParams params) throws IOException
createSessionInputBuffer
in class org.apache.http.impl.SocketHttpClientConnection
IOException
protected org.apache.http.io.SessionOutputBuffer createSessionOutputBuffer(Socket socket, int buffersize, org.apache.http.params.HttpParams params) throws IOException
createSessionOutputBuffer
in class org.apache.http.impl.SocketHttpClientConnection
IOException
protected org.apache.http.io.HttpMessageParser<org.apache.http.HttpResponse> createResponseParser(org.apache.http.io.SessionInputBuffer buffer, org.apache.http.HttpResponseFactory responseFactory, org.apache.http.params.HttpParams params)
createResponseParser
in class org.apache.http.impl.AbstractHttpClientConnection
public void update(Socket sock, org.apache.http.HttpHost target, boolean secure, org.apache.http.params.HttpParams params) throws IOException
OperatedClientConnection
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 connectionIOException
public org.apache.http.HttpResponse receiveResponseHeader() throws org.apache.http.HttpException, IOException
receiveResponseHeader
in interface org.apache.http.HttpClientConnection
receiveResponseHeader
in class org.apache.http.impl.AbstractHttpClientConnection
org.apache.http.HttpException
IOException
public void sendRequestHeader(org.apache.http.HttpRequest request) throws org.apache.http.HttpException, IOException
sendRequestHeader
in interface org.apache.http.HttpClientConnection
sendRequestHeader
in class org.apache.http.impl.AbstractHttpClientConnection
org.apache.http.HttpException
IOException
public Object getAttribute(String id)
getAttribute
in interface org.apache.http.protocol.HttpContext
public Object removeAttribute(String id)
removeAttribute
in interface org.apache.http.protocol.HttpContext
Copyright © 1999-2013 The Apache Software Foundation. All Rights Reserved.