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
Class DefaultBHttpClientConnection

    java.lang.Object
      org.apache.http.impl.BHttpConnectionBase
          org.apache.http.impl.DefaultBHttpClientConnection

All Implemented Interfaces:
  Closeable, HttpClientConnection, HttpConnection, HttpInetConnection

    public class DefaultBHttpClientConnection

extends BHttpConnectionBase
implements HttpClientConnection

Default implementation of `HttpClientConnection`.

Since:
  4.3

Constructor Summary
`DefaultBHttpClientConnection(int bufferSize)`
`DefaultBHttpClientConnection(int bufferSize, CharsetDecoder charDecoder, CharsetEncoder charEncoder, MessageConstraints constraints)`
`DefaultBHttpClientConnection(int bufferSize, int fragmentSizeHint, CharsetDecoder charDecoder, CharsetEncoder charEncoder, MessageConstraints constraints, ContentLengthStrategy incomingContentStrategy, ContentLengthStrategy outgoingContentStrategy, HttpMessageWriterFactory<HttpRequest> requestWriterFactory, HttpMessageParserFactory<HttpResponse> responseParserFactory)` Creates new instance of DefaultBHttpClientConnection.

Method Summary
`void` | `bind(Socket socket)` Binds this connection to the given `Socket`.
`void` | `flush()` Writes out all pending buffered data over the open connection.
`boolean` | `isResponseAvailable(int timeout)` Checks if response data is available from the connection.
`protected void` | `onRequestSubmitted(HttpRequest request)`
`protected void` | `onResponseReceived(HttpResponse response)`
`void` | `receiveResponseEntity(HttpResponse response)` Receives the next response entity available from this connection and attaches it to an existing HttpResponse object.
`HttpResponse` | `receiveResponseHeader()` Receives the request line and headers of the next response available from this connection.
`void` | `sendRequestEntity(HttpEntityEnclosingRequest request)` Sends the request entity over the connection.
`void` | `sendRequestHeader(HttpRequest request)` Sends the request line and all headers over the 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

### DefaultBHttpClientConnection

    public DefaultBHttpClientConnection(int bufferSize,
                                        int fragmentSizeHint,
                                        CharsetDecoder charDecoder,
                                        CharsetEncoder charEncoder,
                                        MessageConstraints constraints,
                                        ContentLengthStrategy incomingContentStrategy,
                                        ContentLengthStrategy outgoingContentStrategy,
                                        HttpMessageWriterFactory<HttpRequest> requestWriterFactory,
                                        HttpMessageParserFactory<HttpResponse> responseParserFactory)

  Creates new instance of DefaultBHttpClientConnection.

  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` `LaxContentLengthStrategy.INSTANCE` will be used.
    `outgoingContentStrategy` - outgoing content length strategy. If `null` `StrictContentLengthStrategy.INSTANCE` will be used.
    `requestWriterFactory` - request writer factory. If `null` `DefaultHttpRequestWriterFactory.INSTANCE` will be used.
    `responseParserFactory` - response parser factory. If `null` `DefaultHttpResponseParserFactory.INSTANCE` will be used.

### DefaultBHttpClientConnection

    public DefaultBHttpClientConnection(int bufferSize,
                                        CharsetDecoder charDecoder,
                                        CharsetEncoder charEncoder,
                                        MessageConstraints constraints)

### DefaultBHttpClientConnection

    public DefaultBHttpClientConnection(int bufferSize)

Method Detail

### onResponseReceived

    protected void onResponseReceived(HttpResponse response)

### onRequestSubmitted

    protected void onRequestSubmitted(HttpRequest request)

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

### isResponseAvailable

    public boolean isResponseAvailable(int timeout)
                                throws IOException

  Description copied from interface: `HttpClientConnection`
  Checks if response data is available from the connection. May wait for the specified time until some data becomes available. Note that some implementations may completely ignore the timeout parameter.

  Specified by:
    `isResponseAvailable` in interface `HttpClientConnection`
  Parameters:
    `timeout` - the maximum time in milliseconds to wait for data
  Returns:
    true if data is available; false if there was no data available even after waiting for `timeout` milliseconds.
  Throws:
    `IOException` - if an error happens on the connection

### sendRequestHeader

    public void sendRequestHeader(HttpRequest request)
                           throws HttpException,
                                  IOException

  Description copied from interface: `HttpClientConnection`
  Sends the request line and all headers over the connection.

  Specified by:
    `sendRequestHeader` in interface `HttpClientConnection`
  Parameters:
    `request` - the request whose headers to send.
  Throws:
    `HttpException` - in case of HTTP protocol violation
    `IOException` - in case of an I/O error

### sendRequestEntity

    public void sendRequestEntity(HttpEntityEnclosingRequest request)
                           throws HttpException,
                                  IOException

  Description copied from interface: `HttpClientConnection`
  Sends the request entity over the connection.

  Specified by:
    `sendRequestEntity` in interface `HttpClientConnection`
  Parameters:
    `request` - the request whose entity to send.
  Throws:
    `HttpException` - in case of HTTP protocol violation
    `IOException` - in case of an I/O error

### receiveResponseHeader

    public HttpResponse receiveResponseHeader()
                                       throws HttpException,
                                              IOException

  Description copied from interface: `HttpClientConnection`
  Receives the request line and headers of the next response available from this connection. The caller should examine the HttpResponse object to find out if it should try to receive a response entity as well.

  Specified by:
    `receiveResponseHeader` in interface `HttpClientConnection`
  Returns:
    a new HttpResponse object with status line and headers initialized.
  Throws:
    `HttpException` - in case of HTTP protocol violation
    `IOException` - in case of an I/O error

### receiveResponseEntity

    public void receiveResponseEntity(HttpResponse response)
                               throws HttpException,
                                      IOException

  Description copied from interface: `HttpClientConnection`
  Receives the next response entity available from this connection and attaches it to an existing HttpResponse object.

  Specified by:
    `receiveResponseEntity` in interface `HttpClientConnection`
  Parameters:
    `response` - the response to attach the entity to
  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: `HttpClientConnection`
  Writes out all pending buffered data over the open connection.

  Specified by:
    `flush` in interface `HttpClientConnection`
  Throws:
    `IOException` - in case of an I/O error

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.