org.apache.http.impl.nio
Class DefaultNHttpServerConnection

java.lang.Object
  extended by org.apache.http.impl.nio.NHttpConnectionBase
      extended by org.apache.http.impl.nio.DefaultNHttpServerConnection
All Implemented Interfaces:
Closeable, HttpConnection, HttpInetConnection, IOControl, NHttpConnection, NHttpServerConnection, NHttpServerIOTarget, SessionBufferStatus, SocketAccessor

public class DefaultNHttpServerConnection
extends NHttpConnectionBase
implements NHttpServerIOTarget

Default implementation of the NHttpServerConnection interface.

Since:
4.0

Field Summary
protected  NHttpMessageParser<HttpRequest> requestParser
           
protected  NHttpMessageWriter<HttpResponse> responseWriter
           
 
Fields inherited from class org.apache.http.impl.nio.NHttpConnectionBase
connMetrics, contentDecoder, contentEncoder, context, hasBufferedInput, hasBufferedOutput, inbuf, incomingContentStrategy, inTransportMetrics, outbuf, outgoingContentStrategy, outTransportMetrics, remote, request, response, session, status
 
Fields inherited from interface org.apache.http.nio.NHttpConnection
ACTIVE, CLOSED, CLOSING
 
Constructor Summary
DefaultNHttpServerConnection(IOSession session, HttpRequestFactory requestFactory, ByteBufferAllocator allocator, HttpParams params)
          Deprecated. (4.3) use DefaultNHttpServerConnection( IOSession, int, int, ByteBufferAllocator, CharsetDecoder, CharsetEncoder, MessageConstraints, ContentLengthStrategy, ContentLengthStrategy, NHttpMessageParserFactory, NHttpMessageWriterFactory)
DefaultNHttpServerConnection(IOSession session, int bufferSize)
           
DefaultNHttpServerConnection(IOSession session, int bufferSize, CharsetDecoder charDecoder, CharsetEncoder charEncoder, MessageConstraints constraints)
           
DefaultNHttpServerConnection(IOSession session, int bufferSize, int fragmentSizeHint, ByteBufferAllocator allocator, CharsetDecoder charDecoder, CharsetEncoder charEncoder, MessageConstraints constraints, ContentLengthStrategy incomingContentStrategy, ContentLengthStrategy outgoingContentStrategy, NHttpMessageParserFactory<HttpRequest> requestParserFactory, NHttpMessageWriterFactory<HttpResponse> responseWriterFactory)
          Creates new instance DefaultNHttpServerConnection given the underlying I/O session.
 
Method Summary
 void consumeInput(NHttpServerEventHandler handler)
           
 void consumeInput(NHttpServiceHandler handler)
          Triggered when the connection is ready to consume input.
protected  ContentLengthStrategy createIncomingContentStrategy()
          Deprecated. (4.3) use constructor.
protected  NHttpMessageParser<HttpRequest> createRequestParser(SessionInputBuffer buffer, HttpRequestFactory requestFactory, HttpParams params)
          Deprecated. (4.3) use constructor.
protected  NHttpMessageWriter<HttpResponse> createResponseWriter(SessionOutputBuffer buffer, HttpParams params)
          Deprecated. (4.3) use constructor.
 boolean isResponseSubmitted()
          Returns true if an HTTP response has been submitted to the client.
protected  void onRequestReceived(HttpRequest request)
           
protected  void onResponseSubmitted(HttpResponse response)
           
 void produceOutput(NHttpServerEventHandler handler)
           
 void produceOutput(NHttpServiceHandler handler)
          Triggered when the connection is ready to produce output.
 void resetInput()
          Resets output state.
 void resetOutput()
          Resets input state.
 void submitResponse(HttpResponse response)
          Submits {link @HttpResponse} to be sent to the client.
 
Methods inherited from class org.apache.http.impl.nio.NHttpConnectionBase
assertNotClosed, bind, close, createConnectionMetrics, createContentDecoder, createContentEncoder, 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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.apache.http.nio.NHttpConnection
getContext, getHttpRequest, getHttpResponse, getStatus
 
Methods inherited from interface org.apache.http.HttpConnection
close, getMetrics, getSocketTimeout, isOpen, isStale, setSocketTimeout, shutdown
 
Methods inherited from interface org.apache.http.nio.IOControl
requestInput, requestOutput, shutdown, suspendInput, suspendOutput
 

Field Detail

requestParser

protected final NHttpMessageParser<HttpRequest> requestParser

responseWriter

protected final NHttpMessageWriter<HttpResponse> responseWriter
Constructor Detail

DefaultNHttpServerConnection

@Deprecated
public DefaultNHttpServerConnection(IOSession session,
                                               HttpRequestFactory requestFactory,
                                               ByteBufferAllocator allocator,
                                               HttpParams params)
Deprecated. (4.3) use DefaultNHttpServerConnection( IOSession, int, int, ByteBufferAllocator, CharsetDecoder, CharsetEncoder, MessageConstraints, ContentLengthStrategy, ContentLengthStrategy, NHttpMessageParserFactory, NHttpMessageWriterFactory)

Creates a new instance of this class given the underlying I/O session.

Parameters:
session - the underlying I/O session.
requestFactory - HTTP request factory.
allocator - byte buffer allocator.
params - HTTP parameters.

DefaultNHttpServerConnection

public DefaultNHttpServerConnection(IOSession session,
                                    int bufferSize,
                                    int fragmentSizeHint,
                                    ByteBufferAllocator allocator,
                                    CharsetDecoder charDecoder,
                                    CharsetEncoder charEncoder,
                                    MessageConstraints constraints,
                                    ContentLengthStrategy incomingContentStrategy,
                                    ContentLengthStrategy outgoingContentStrategy,
                                    NHttpMessageParserFactory<HttpRequest> requestParserFactory,
                                    NHttpMessageWriterFactory<HttpResponse> responseWriterFactory)
Creates new instance DefaultNHttpServerConnection given the underlying I/O session.

Parameters:
session - the underlying I/O session.
bufferSize - buffer size. Must be a positive number.
fragmentSizeHint - fragment size hint.
allocator - memory allocator. If null HeapByteBufferAllocator.INSTANCE will be used.
charDecoder - decoder to be used for decoding HTTP protocol elements. If null simple type cast will be used for byte to char conversion.
charEncoder - encoder to be used for encoding HTTP protocol elements. If null simple type cast will be used for char to byte conversion.
constraints - Message constraints. If null MessageConstraints.DEFAULT will be used.
incomingContentStrategy - incoming content length strategy. If null DisallowIdentityContentLengthStrategy.INSTANCE will be used.
outgoingContentStrategy - outgoing content length strategy. If null StrictContentLengthStrategy.INSTANCE will be used.
requestParserFactory - request parser factory. If null DefaultHttpRequestParserFactory.INSTANCE will be used.
responseWriterFactory - response writer factory. If null DefaultHttpResponseWriterFactory.INSTANCE will be used.
Since:
4.3

DefaultNHttpServerConnection

public DefaultNHttpServerConnection(IOSession session,
                                    int bufferSize,
                                    CharsetDecoder charDecoder,
                                    CharsetEncoder charEncoder,
                                    MessageConstraints constraints)
Since:
4.3

DefaultNHttpServerConnection

public DefaultNHttpServerConnection(IOSession session,
                                    int bufferSize)
Since:
4.3
Method Detail

createIncomingContentStrategy

@Deprecated
protected ContentLengthStrategy createIncomingContentStrategy()
Deprecated. (4.3) use constructor.

Overrides:
createIncomingContentStrategy in class NHttpConnectionBase

createRequestParser

@Deprecated
protected NHttpMessageParser<HttpRequest> createRequestParser(SessionInputBuffer buffer,
                                                                         HttpRequestFactory requestFactory,
                                                                         HttpParams params)
Deprecated. (4.3) use constructor.

Creates an instance of NHttpMessageParser to be used by this connection for parsing incoming HttpRequest messages.

This method can be overridden in a super class in order to provide a different implementation of the NHttpMessageParser interface.

Returns:
HTTP response parser.

createResponseWriter

@Deprecated
protected NHttpMessageWriter<HttpResponse> createResponseWriter(SessionOutputBuffer buffer,
                                                                           HttpParams params)
Deprecated. (4.3) use constructor.

Creates an instance of NHttpMessageWriter to be used by this connection for writing out outgoing HttpResponse messages.

This method can be overridden by a super class in order to provide a different implementation of the NHttpMessageWriter interface.

Returns:
HTTP response parser.

onRequestReceived

protected void onRequestReceived(HttpRequest request)
Since:
4.2

onResponseSubmitted

protected void onResponseSubmitted(HttpResponse response)
Since:
4.2

resetInput

public void resetInput()
Description copied from interface: NHttpServerConnection
Resets output state. This method can be used to prematurely terminate processing of the incoming HTTP request.

Specified by:
resetInput in interface NHttpServerConnection

resetOutput

public void resetOutput()
Description copied from interface: NHttpServerConnection
Resets input state. This method can be used to prematurely terminate processing of the outgoing HTTP response.

Specified by:
resetOutput in interface NHttpServerConnection

consumeInput

public void consumeInput(NHttpServerEventHandler handler)

produceOutput

public void produceOutput(NHttpServerEventHandler handler)

submitResponse

public void submitResponse(HttpResponse response)
                    throws IOException,
                           HttpException
Description copied from interface: NHttpServerConnection
Submits {link @HttpResponse} to be sent to the client.

Specified by:
submitResponse in interface NHttpServerConnection
Parameters:
response - HTTP response
Throws:
IOException - if I/O error occurs while submitting the response
HttpException - if the HTTP response violates the HTTP protocol.

isResponseSubmitted

public boolean isResponseSubmitted()
Description copied from interface: NHttpServerConnection
Returns true if an HTTP response has been submitted to the client.

Specified by:
isResponseSubmitted in interface NHttpServerConnection
Returns:
true if an HTTP response has been submitted, false otherwise.

consumeInput

public void consumeInput(NHttpServiceHandler handler)
Description copied from interface: NHttpServerIOTarget
Triggered when the connection is ready to consume input.

Specified by:
consumeInput in interface NHttpServerIOTarget
Parameters:
handler - the server protocol handler.

produceOutput

public void produceOutput(NHttpServiceHandler handler)
Description copied from interface: NHttpServerIOTarget
Triggered when the connection is ready to produce output.

Specified by:
produceOutput in interface NHttpServerIOTarget
Parameters:
handler - the server protocol handler.


Copyright © 2005–2021 The Apache Software Foundation. All rights reserved.