@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, statusACTIVE, 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, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetContext, getHttpRequest, getHttpResponse, getStatusclose, getMetrics, getSocketTimeout, isOpen, isStale, setSocketTimeout, shutdownrequestInput, requestOutput, shutdown, suspendInput, suspendOutputprotected 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()
NHttpClientConnectionresetInput in interface NHttpClientConnectionpublic void resetOutput()
NHttpClientConnectionresetOutput in interface NHttpClientConnectionpublic void consumeInput(NHttpClientEventHandler handler)
public void produceOutput(NHttpClientEventHandler handler)
public void submitRequest(HttpRequest request) throws IOException, HttpException
NHttpClientConnectionHttpRequest to be sent to the target server.submitRequest in interface NHttpClientConnectionrequest - HTTP requestIOException - if I/O error occurs while submitting the requestHttpException - if the HTTP request violates the HTTP protocol.public boolean isRequestSubmitted()
NHttpClientConnectiontrue if an HTTP request has been submitted to the
target server.isRequestSubmitted in interface NHttpClientConnectiontrue if an HTTP request has been submitted,
false otherwise.public void consumeInput(NHttpClientHandler handler)
NHttpClientIOTargetconsumeInput in interface NHttpClientIOTargethandler - the client protocol handler.public void produceOutput(NHttpClientHandler handler)
NHttpClientIOTargetproduceOutput in interface NHttpClientIOTargethandler - the client protocol handler.Copyright © 2005–2013 The Apache Software Foundation. All rights reserved.