org.apache.http.impl

## Class AbstractHttpServerConnection

- java.lang.Object
- - org.apache.http.impl.AbstractHttpServerConnection

- All Implemented Interfaces:
    Closeable, AutoCloseable, HttpConnection, HttpServerConnection
  Direct Known Subclasses:
    SocketHttpServerConnection

  Deprecated.
  (4.3) use `DefaultBHttpServerConnection`

      @NotThreadSafe
      @Deprecated
      public abstract class AbstractHttpServerConnection
      extends Object
      implements HttpServerConnection

  Abstract server-side HTTP connection capable of transmitting and receiving data using arbitrary `SessionInputBuffer` and `SessionOutputBuffer` implementations.

  The following parameters can be used to customize the behavior of this class:

  - `CoreProtocolPNames.STRICT_TRANSFER_ENCODING`
  - `CoreConnectionPNames.MAX_HEADER_COUNT`
  - `CoreConnectionPNames.MAX_LINE_LENGTH`
  Since:
    4.0

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractHttpServerConnection()` Deprecated. Creates an instance of this class.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected abstract void` | `assertOpen()` Deprecated. Asserts if the connection is open.
    `protected HttpConnectionMetricsImpl` | `createConnectionMetrics(HttpTransportMetrics inTransportMetric, HttpTransportMetrics outTransportMetric)` Deprecated.
    `protected EntityDeserializer` | `createEntityDeserializer()` Deprecated. Creates an instance of `EntityDeserializer` with the `LaxContentLengthStrategy` implementation to be used for de-serializing entities received over this connection.
    `protected EntitySerializer` | `createEntitySerializer()` Deprecated. Creates an instance of `EntitySerializer` with the `StrictContentLengthStrategy` implementation to be used for serializing HTTP entities sent over this connection.
    `protected HttpRequestFactory` | `createHttpRequestFactory()` Deprecated. Creates an instance of `DefaultHttpRequestFactory` to be used for creating `HttpRequest` objects received by over this connection.
    `protected HttpMessageParser<HttpRequest>` | `createRequestParser(SessionInputBuffer buffer, HttpRequestFactory requestFactory, HttpParams params)` Deprecated. Creates an instance of `HttpMessageParser` to be used for parsing HTTP requests received over this connection.
    `protected HttpMessageWriter<HttpResponse>` | `createResponseWriter(SessionOutputBuffer buffer, HttpParams params)` Deprecated. Creates an instance of `HttpMessageWriter` to be used for writing out HTTP responses sent over this connection.
    `protected void` | `doFlush()` Deprecated.
    `void` | `flush()` Deprecated. Sends all pending buffered data over this connection.
    `HttpConnectionMetrics` | `getMetrics()` Deprecated. Returns a collection of connection metrics.
    `protected void` | `init(SessionInputBuffer inbuffer, SessionOutputBuffer outbuffer, HttpParams params)` Deprecated. Initializes this connection object with `SessionInputBuffer` and `SessionOutputBuffer` instances to be used for sending and receiving data.
    `protected boolean` | `isEof()` Deprecated.
    `boolean` | `isStale()` Deprecated. Checks whether this connection has gone down.
    `void` | `receiveRequestEntity(HttpEntityEnclosingRequest request)` Deprecated. Receives the next request entity available from this connection and attaches it to an existing request.
    `HttpRequest` | `receiveRequestHeader()` Deprecated. Receives the request line and all headers available from this connection.
    `void` | `sendResponseEntity(HttpResponse response)` Deprecated. Sends the response entity of a response over this connection.
    `void` | `sendResponseHeader(HttpResponse response)` Deprecated. Sends the response line and headers of a response over this connection.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.apache.http.HttpConnection

      `close, getSocketTimeout, isOpen, setSocketTimeout, shutdown`

- - ### Constructor Detail

    - #### AbstractHttpServerConnection

          public AbstractHttpServerConnection()

      Deprecated.
      Creates an instance of this class.

      This constructor will invoke `createEntityDeserializer()` and `createEntitySerializer()` methods in order to initialize HTTP entity serializer and deserializer implementations for this connection.

  - ### Method Detail

    - #### assertOpen

          protected abstract void assertOpen()
                                      throws IllegalStateException

      Deprecated.
      Asserts if the connection is open.
      Throws:
        `IllegalStateException` - if the connection is not open.

    - #### createEntityDeserializer

          protected EntityDeserializer createEntityDeserializer()

      Deprecated.
      Creates an instance of `EntityDeserializer` with the `LaxContentLengthStrategy` implementation to be used for de-serializing entities received over this connection.

      This method can be overridden in a super class in order to create instances of `EntityDeserializer` using a custom `ContentLengthStrategy`.

      Returns:
        HTTP entity deserializer

    - #### createEntitySerializer

          protected EntitySerializer createEntitySerializer()

      Deprecated.
      Creates an instance of `EntitySerializer` with the `StrictContentLengthStrategy` implementation to be used for serializing HTTP entities sent over this connection.

      This method can be overridden in a super class in order to create instances of `EntitySerializer` using a custom `ContentLengthStrategy`.

      Returns:
        HTTP entity serialzier.

    - #### createHttpRequestFactory

          protected HttpRequestFactory createHttpRequestFactory()

      Deprecated.
      Creates an instance of `DefaultHttpRequestFactory` to be used for creating `HttpRequest` objects received by over this connection.

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

      Returns:
        HTTP request factory.

    - #### createRequestParser

          protected HttpMessageParser<HttpRequest> createRequestParser(SessionInputBuffer buffer,
                                                           HttpRequestFactory requestFactory,
                                                           HttpParams params)

      Deprecated.
      Creates an instance of `HttpMessageParser` to be used for parsing HTTP requests received over this connection.

      This method can be overridden in a super class in order to provide a different implementation of the `HttpMessageParser` interface or to pass a different implementation of the `LineParser` to the `DefaultHttpRequestParser` constructor.

      Parameters:
        `buffer` - the session input buffer.
        `requestFactory` - the HTTP request factory.
        `params` - HTTP parameters.
      Returns:
        HTTP message parser.

    - #### createResponseWriter

          protected HttpMessageWriter<HttpResponse> createResponseWriter(SessionOutputBuffer buffer,
                                                             HttpParams params)

      Deprecated.
      Creates an instance of `HttpMessageWriter` to be used for writing out HTTP responses sent over this connection.

      This method can be overridden in a super class in order to provide a different implementation of the `HttpMessageWriter` interface or to pass a different implementation of `LineFormatter` to the the default implementation `HttpResponseWriter`.

      Parameters:
        `buffer` - the session output buffer
        `params` - HTTP parameters
      Returns:
        HTTP message writer

    - #### createConnectionMetrics

          protected HttpConnectionMetricsImpl createConnectionMetrics(HttpTransportMetrics inTransportMetric,
                                                          HttpTransportMetrics outTransportMetric)

      Deprecated.
      Since:
        4.1

    - #### init

          protected void init(SessionInputBuffer inbuffer,
                  SessionOutputBuffer outbuffer,
                  HttpParams params)

      Deprecated.
      Initializes this connection object with `SessionInputBuffer` and `SessionOutputBuffer` instances to be used for sending and receiving data. These session buffers can be bound to any arbitrary physical output medium.

      This method will invoke `createHttpRequestFactory()`, `createRequestParser(SessionInputBuffer, HttpRequestFactory, HttpParams)` and `createResponseWriter(SessionOutputBuffer, HttpParams)` methods to initialize HTTP request parser and response writer for this connection.

      Parameters:
        `inbuffer` - the session input buffer.
        `outbuffer` - the session output buffer.
        `params` - HTTP parameters.

    - #### receiveRequestHeader

          public HttpRequest receiveRequestHeader()
                                           throws HttpException,
                                                  IOException

      Deprecated.
      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

      Deprecated.
      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

    - #### doFlush

          protected void doFlush()
                          throws IOException

      Deprecated.
      Throws:
        `IOException`

    - #### flush

          public void flush()
                     throws IOException

      Deprecated.
      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

    - #### sendResponseHeader

          public void sendResponseHeader(HttpResponse response)
                                  throws HttpException,
                                         IOException

      Deprecated.
      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

      Deprecated.
      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

    - #### isEof

          protected boolean isEof()

      Deprecated.

    - #### isStale

          public boolean isStale()

      Deprecated.
      Description copied from interface: `HttpConnection`
      Checks whether this connection has gone down. Network connections may get closed during some time of inactivity for several reasons. The next time a read is attempted on such a connection it will throw an IOException. This method tries to alleviate this inconvenience by trying to find out if a connection is still usable. Implementations may do that by attempting a read with a very small timeout. Thus this method may block for a small amount of time before returning a result. It is therefore an expensive operation.
      Specified by:
        `isStale` in interface `HttpConnection`
      Returns:
        `true` if attempts to use this connection are likely to succeed, or `false` if they are likely to fail and this connection should be closed

    - #### getMetrics

          public HttpConnectionMetrics getMetrics()

      Deprecated.
      Description copied from interface: `HttpConnection`
      Returns a collection of connection metrics.
      Specified by:
        `getMetrics` in interface `HttpConnection`
      Returns:
        HttpConnectionMetrics

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