org.apache.coyote.http11.filters

## Class IdentityInputFilter

- java.lang.Object
- - org.apache.coyote.http11.filters.IdentityInputFilter

All Implemented Interfaces:
  InputFilter, InputBuffer

    public class IdentityInputFilter
    extends Object
    implements InputFilter

Identity input filter.

Author:
  Remy Maucherat

### Field Summary

Fields
`protected InputBuffer` `buffer` Next buffer in the pipeline.
`protected long` `contentLength` Content length.
`protected static ByteChunk` `ENCODING`
`protected static String` `ENCODING_NAME`
`protected ByteChunk` `endChunk` Chunk used to read leftover bytes.
`protected long` `remaining` Remaining bytes.

### Constructor Summary

Constructors
Constructor and Description
`IdentityInputFilter()`

### Method Summary

Methods
`int` `available()` Amount of bytes still available in a buffer.
`int` `doRead(ByteChunk chunk, Request req)` Read bytes.
`long` `end()` End the current request.
`long` `getContentLength()` Deprecated. Unused - will be removed in 8.0.x
`ByteChunk` `getEncodingName()` Return the name of the associated encoding; Here, the value is "identity".
`long` `getRemaining()` Deprecated. Unused - will be removed in 8.0.x
`void` `recycle()` Make the filter ready to process the next request.
`void` `setBuffer(InputBuffer buffer)` Set the next buffer in the filter pipeline.
`void` `setRequest(Request request)` Read the content length from the request.

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

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

### Field Detail

#### ENCODING_NAME

    protected static final String ENCODING_NAME

See Also:
  Constant Field Values

#### ENCODING

    protected static final ByteChunk ENCODING

#### contentLength

    protected long contentLength

Content length.

#### remaining

    protected long remaining

Remaining bytes.

#### buffer

    protected InputBuffer buffer

Next buffer in the pipeline.

#### endChunk

    protected ByteChunk endChunk

Chunk used to read leftover bytes.

### Constructor Detail

#### IdentityInputFilter

    public IdentityInputFilter()

### Method Detail

#### getContentLength

    @Deprecated
    public long getContentLength()

Deprecated. Unused - will be removed in 8.0.x
Get content length.

#### getRemaining

    @Deprecated
    public long getRemaining()

Deprecated. Unused - will be removed in 8.0.x
Get remaining bytes.

#### doRead

    public int doRead(ByteChunk chunk,
             Request req)
               throws IOException

Read bytes.

Specified by:
  `doRead` in interface `InputFilter`
Specified by:
  `doRead` in interface `InputBuffer`
Returns:
  If the filter does request length control, this value is significant; it should be the number of bytes consumed from the buffer, up until the end of the current request body, or the buffer length, whichever is greater. If the filter does not do request body length control, the returned value should be -1.
Throws:
  `IOException`

#### setRequest

    public void setRequest(Request request)

Read the content length from the request.

Specified by:
  `setRequest` in interface `InputFilter`

#### end

    public long end()
             throws IOException

End the current request.

Specified by:
  `end` in interface `InputFilter`
Returns:
  0 is the expected return value. A positive value indicates that too many bytes were read. This method is allowed to use buffer.doRead to consume extra bytes. The result of this method can't be negative (if an error happens, an IOException should be thrown instead).
Throws:
  `IOException`

#### available

    public int available()

Amount of bytes still available in a buffer.

Specified by:
  `available` in interface `InputFilter`

#### setBuffer

    public void setBuffer(InputBuffer buffer)

Set the next buffer in the filter pipeline.

Specified by:
  `setBuffer` in interface `InputFilter`

#### recycle

    public void recycle()

Make the filter ready to process the next request.

Specified by:
  `recycle` in interface `InputFilter`

#### getEncodingName

    public ByteChunk getEncodingName()

Return the name of the associated encoding; Here, the value is "identity".

Specified by:
  `getEncodingName` in interface `InputFilter`