org.apache.http.impl

## Class DefaultBHttpServerConnection

- java.lang.Object
- - org.apache.http.impl.BHttpConnectionBase
  - - org.apache.http.impl.DefaultBHttpServerConnection

- All Implemented Interfaces:
    Closeable, AutoCloseable, HttpConnection, HttpInetConnection, HttpServerConnection

      @NotThreadSafe
      public class DefaultBHttpServerConnection
      extends BHttpConnectionBase
      implements HttpServerConnection

  Default implementation of `HttpServerConnection`.
  Since:
    4.3

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `DefaultBHttpServerConnection(int buffersize)`
    `DefaultBHttpServerConnection(int buffersize, CharsetDecoder chardecoder, CharsetEncoder charencoder, MessageConstraints constraints)`
    `DefaultBHttpServerConnection(int buffersize, int fragmentSizeHint, CharsetDecoder chardecoder, CharsetEncoder charencoder, MessageConstraints constraints, ContentLengthStrategy incomingContentStrategy, ContentLengthStrategy outgoingContentStrategy, HttpMessageParserFactory<HttpRequest> requestParserFactory, HttpMessageWriterFactory<HttpResponse> responseWriterFactory)` Creates new instance of DefaultBHttpServerConnection.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `bind(Socket socket)` Binds this connection to the given `Socket`.
    `void` | `flush()` Sends all pending buffered data over this connection.
    `protected void` | `onRequestReceived(HttpRequest request)`
    `protected void` | `onResponseSubmitted(HttpResponse response)`
    `void` | `receiveRequestEntity(HttpEntityEnclosingRequest request)` Receives the next request entity available from this connection and attaches it to an existing request.
    `HttpRequest` | `receiveRequestHeader()` Receives the request line and all headers available from this connection.
    `void` | `sendResponseEntity(HttpResponse response)` Sends the response entity of a response over this connection.
    `void` | `sendResponseHeader(HttpResponse response)` Sends the response line and headers of a response over this connection.

    - ### Methods inherited from class org.apache.http.impl.BHttpConnectionBase

      `awaitInput, close, createInputStream, createOutputStream, doFlush, ensureOpen, getLocalAddress, getLocalPort, getMetrics, getRemoteAddress, getRemotePort, getSessionInputBuffer, getSessionOutputBuffer, getSocket, getSocketInputStream, getSocketOutputStream, getSocketTimeout, incrementRequestCount, incrementResponseCount, isOpen, isStale, prepareInput, prepareOutput, setSocketTimeout, shutdown, 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.HttpConnection

      `close, getMetrics, getSocketTimeout, isOpen, isStale, setSocketTimeout, shutdown`

- - ### Constructor Detail

    - #### DefaultBHttpServerConnection

          public DefaultBHttpServerConnection(int buffersize,
                                      int fragmentSizeHint,
                                      CharsetDecoder chardecoder,
                                      CharsetEncoder charencoder,
                                      MessageConstraints constraints,
                                      ContentLengthStrategy incomingContentStrategy,
                                      ContentLengthStrategy outgoingContentStrategy,
                                      HttpMessageParserFactory<HttpRequest> requestParserFactory,
                                      HttpMessageWriterFactory<HttpResponse> responseWriterFactory)

      Creates new instance of DefaultBHttpServerConnection.
      Parameters:
        `buffersize` - buffer size. Must be a positive number.
        `fragmentSizeHint` - fragment size hint.
        `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.

    - #### DefaultBHttpServerConnection

          public DefaultBHttpServerConnection(int buffersize,
                                      CharsetDecoder chardecoder,
                                      CharsetEncoder charencoder,
                                      MessageConstraints constraints)

    - #### DefaultBHttpServerConnection

          public DefaultBHttpServerConnection(int buffersize)

  - ### Method Detail

    - #### onRequestReceived

          protected void onRequestReceived(HttpRequest request)

    - #### onResponseSubmitted

          protected void onResponseSubmitted(HttpResponse response)

    - #### bind

          public void bind(Socket socket)
                    throws IOException

      Description copied from class: `BHttpConnectionBase`
      Binds this connection to the given `Socket`. This socket will be used by the connection to send and receive data.

      After this method's execution the connection status will be reported as open and the `BHttpConnectionBase.isOpen()` will return `true`.
      Overrides:
        `bind` in class `BHttpConnectionBase`
      Parameters:
        `socket` - the socket.
      Throws:
        `IOException` - in case of an I/O error.

    - #### receiveRequestHeader

          public HttpRequest receiveRequestHeader()
                                           throws HttpException,
                                                  IOException

      Description copied from interface: `HttpServerConnection`
      Receives the request line and all headers available from this connection. The caller should examine the returned request and decide if to receive a request entity as well.
      Specified by:
        `receiveRequestHeader` in interface `HttpServerConnection`
      Returns:
        a new HttpRequest object whose request line and headers are initialized.
      Throws:
        `HttpException` - in case of HTTP protocol violation
        `IOException` - in case of an I/O error

    - #### receiveRequestEntity

          public void receiveRequestEntity(HttpEntityEnclosingRequest request)
                                    throws HttpException,
                                           IOException

      Description copied from interface: `HttpServerConnection`
      Receives the next request entity available from this connection and attaches it to an existing request.
      Specified by:
        `receiveRequestEntity` in interface `HttpServerConnection`
      Parameters:
        `request` - the request to attach the entity to.
      Throws:
        `HttpException` - in case of HTTP protocol violation
        `IOException` - in case of an I/O error

    - #### sendResponseHeader

          public void sendResponseHeader(HttpResponse response)
                                  throws HttpException,
                                         IOException

      Description copied from interface: `HttpServerConnection`
      Sends the response line and headers of a response over this connection.
      Specified by:
        `sendResponseHeader` in interface `HttpServerConnection`
      Parameters:
        `response` - the response whose headers to send.
      Throws:
        `HttpException` - in case of HTTP protocol violation
        `IOException` - in case of an I/O error

    - #### sendResponseEntity

          public void sendResponseEntity(HttpResponse response)
                                  throws HttpException,
                                         IOException

      Description copied from interface: `HttpServerConnection`
      Sends the response entity of a response over this connection.
      Specified by:
        `sendResponseEntity` in interface `HttpServerConnection`
      Parameters:
        `response` - the response whose entity to send.
      Throws:
        `HttpException` - in case of HTTP protocol violation
        `IOException` - in case of an I/O error

    - #### flush

          public void flush()
                     throws IOException

      Description copied from interface: `HttpServerConnection`
      Sends all pending buffered data over this connection.
      Specified by:
        `flush` in interface `HttpServerConnection`
      Throws:
        `IOException` - in case of an I/O error

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