@NotThreadSafe public class DefaultNHttpClientConnection extends NHttpConnectionBase implements NHttpClientIOTarget
NHttpClientConnection
interface.
The following parameters can be used to customize the behavior of this class:
Modifier and Type | Field and Description |
---|---|
protected NHttpMessageWriter<HttpRequest> |
requestWriter |
protected NHttpMessageParser<HttpResponse> |
responseParser |
connMetrics, contentDecoder, contentEncoder, context, hasBufferedInput, hasBufferedOutput, inbuf, incomingContentStrategy, inTransportMetrics, outbuf, outgoingContentStrategy, outTransportMetrics, remote, request, response, session, status
ACTIVE, CLOSED, CLOSING
Constructor and Description |
---|
DefaultNHttpClientConnection(IOSession session,
HttpResponseFactory responseFactory,
ByteBufferAllocator allocator,
HttpParams params)
Creates a new instance of this class given the underlying I/O session.
|
Modifier and Type | Method and Description |
---|---|
void |
consumeInput(NHttpClientEventHandler handler) |
void |
consumeInput(NHttpClientHandler handler)
Triggered when the connection is ready to consume input.
|
protected NHttpMessageWriter<HttpRequest> |
createRequestWriter(SessionOutputBuffer buffer,
HttpParams params)
Creates an instance of
NHttpMessageWriter to be used
by this connection for writing out outgoing HttpRequest messages. |
protected NHttpMessageParser<HttpResponse> |
createResponseParser(SessionInputBuffer buffer,
HttpResponseFactory responseFactory,
HttpParams params)
Creates an instance of
NHttpMessageParser to be used
by this connection for parsing incoming HttpResponse messages. |
boolean |
isRequestSubmitted()
Returns
true if an HTTP request has been submitted to the
target server. |
protected void |
onRequestSubmitted(HttpRequest request) |
protected void |
onResponseReceived(HttpResponse response) |
void |
produceOutput(NHttpClientEventHandler handler) |
void |
produceOutput(NHttpClientHandler handler)
Triggered when the connection is ready to produce output.
|
void |
resetInput()
Resets input state.
|
void |
resetOutput()
Resets output state.
|
void |
submitRequest(HttpRequest request)
Submits
HttpRequest to be sent to the target server. |
assertNotClosed, bind, close, createConnectionMetrics, createContentDecoder, createContentEncoder, createIncomingContentStrategy, createOutgoingContentStrategy, createTransportMetrics, getContext, getHttpRequest, getHttpResponse, getLocalAddress, getLocalPort, getMetrics, getRemoteAddress, getRemotePort, getSocket, getSocketTimeout, getStatus, hasBufferedInput, hasBufferedOutput, isOpen, isStale, prepareDecoder, prepareEncoder, requestInput, requestOutput, setSocketTimeout, shutdown, suspendInput, suspendOutput, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getContext, getHttpRequest, getHttpResponse, getStatus
close, getMetrics, getSocketTimeout, isOpen, isStale, setSocketTimeout, shutdown
requestInput, requestOutput, shutdown, suspendInput, suspendOutput
protected final NHttpMessageParser<HttpResponse> responseParser
protected final NHttpMessageWriter<HttpRequest> requestWriter
public DefaultNHttpClientConnection(IOSession session, HttpResponseFactory responseFactory, ByteBufferAllocator allocator, HttpParams params)
session
- the underlying I/O session.responseFactory
- HTTP response factory.allocator
- byte buffer allocator.params
- HTTP parameters.protected NHttpMessageParser<HttpResponse> createResponseParser(SessionInputBuffer buffer, HttpResponseFactory responseFactory, HttpParams params)
NHttpMessageParser
to be used
by this connection for parsing incoming HttpResponse
messages.
This method can be overridden in a super class in order to provide
a different implementation of the NHttpMessageParser
interface.
protected NHttpMessageWriter<HttpRequest> createRequestWriter(SessionOutputBuffer buffer, HttpParams params)
NHttpMessageWriter
to be used
by this connection for writing out outgoing HttpRequest
messages.
This method can be overridden by a super class in order to provide
a different implementation of the NHttpMessageWriter
interface.
protected void onResponseReceived(HttpResponse response)
protected void onRequestSubmitted(HttpRequest request)
public void resetInput()
NHttpClientConnection
resetInput
in interface NHttpClientConnection
public void resetOutput()
NHttpClientConnection
resetOutput
in interface NHttpClientConnection
public void consumeInput(NHttpClientEventHandler handler)
public void produceOutput(NHttpClientEventHandler handler)
public void submitRequest(HttpRequest request) throws IOException, HttpException
NHttpClientConnection
HttpRequest
to be sent to the target server.submitRequest
in interface NHttpClientConnection
request
- HTTP requestIOException
- if I/O error occurs while submitting the requestHttpException
- if the HTTP request violates the HTTP protocol.public boolean isRequestSubmitted()
NHttpClientConnection
true
if an HTTP request has been submitted to the
target server.isRequestSubmitted
in interface NHttpClientConnection
true
if an HTTP request has been submitted,
false
otherwise.public void consumeInput(NHttpClientHandler handler)
NHttpClientIOTarget
consumeInput
in interface NHttpClientIOTarget
handler
- the client protocol handler.public void produceOutput(NHttpClientHandler handler)
NHttpClientIOTarget
produceOutput
in interface NHttpClientIOTarget
handler
- the client protocol handler.Copyright © 2005-2015 The Apache Software Foundation. All Rights Reserved.