Package org.apache.coyote.http11

## Class Http11InputBuffer

- java.lang.Object
- - org.apache.coyote.http11.Http11InputBuffer

All Implemented Interfaces:
  `InputBuffer`, `ApplicationBufferHandler`

    public class Http11InputBuffer
    extends Object
    implements InputBuffer, ApplicationBufferHandler

InputBuffer for HTTP that provides request header parsing as well as transfer encoding.

### Field Summary

### Fields inherited from interface org.apache.tomcat.util.net.ApplicationBufferHandler

`EMPTY, EMPTY_BUFFER`

### Constructor Summary

Constructors
`Http11InputBuffer​(Request request, int headerBufferSize, boolean rejectIllegalHeader, HttpParser httpParser)`

### Method Summary

All Methods Instance Methods Concrete Methods
`int` `available()` Obtain an estimate of the number of bytes that can be read without blocking.
`int` `doRead​(ApplicationBufferHandler handler)` Read from the input stream into the ByteBuffer provided by the ApplicationBufferHandler.
`void` `expand​(int size)`
`ByteBuffer` `getByteBuffer()`
`void` `setByteBuffer​(ByteBuffer buffer)`

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

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

### Constructor Detail

#### Http11InputBuffer

    public Http11InputBuffer​(Request request,
                             int headerBufferSize,
                             boolean rejectIllegalHeader,
                             HttpParser httpParser)

### Method Detail

#### doRead

    public int doRead​(ApplicationBufferHandler handler)
               throws IOException

Description copied from interface: `InputBuffer`
Read from the input stream into the ByteBuffer provided by the ApplicationBufferHandler. IMPORTANT: the current model assumes that the protocol will 'own' the ByteBuffer and return a pointer to it.

Specified by:
  `doRead` in interface `InputBuffer`
Parameters:
  `handler` - ApplicationBufferHandler that provides the buffer to read data into.
Returns:
  The number of bytes that have been added to the buffer or -1 for end of stream
Throws:
  `IOException` - If an I/O error occurs reading from the input stream

#### available

    public int available()

Description copied from interface: `InputBuffer`
Obtain an estimate of the number of bytes that can be read without blocking. Typically, this will be the number of available bytes known to be buffered.

Specified by:
  `available` in interface `InputBuffer`
Returns:
  The number of bytes that can be read without blocking

#### setByteBuffer

    public void setByteBuffer​(ByteBuffer buffer)

Specified by:
  `setByteBuffer` in interface `ApplicationBufferHandler`

#### getByteBuffer

    public ByteBuffer getByteBuffer()

Specified by:
  `getByteBuffer` in interface `ApplicationBufferHandler`

#### expand

    public void expand​(int size)

Specified by:
  `expand` in interface `ApplicationBufferHandler`