Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.http.impl.nio
Class DefaultNHttpServerConnection

    java.lang.Object
      org.apache.http.impl.nio.NHttpConnectionBase
          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.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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