org.apache.coyote.http11

## Interface InputFilter

- All Superinterfaces:
    InputBuffer
  All Known Implementing Classes:
    BufferedInputFilter, ChunkedInputFilter, IdentityInputFilter, SavedRequestInputFilter, VoidInputFilter

      public interface InputFilter
      extends InputBuffer

  Input filter interface.
  Author:
    Remy Maucherat

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `long` | `end()` End the current request.
    `ByteChunk` | `getEncodingName()` Get the name of the encoding handled by this filter.
    `boolean` | `isFinished()` Has the request body been read fully?
    `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)` Some filters need additional parameters from the request.

    - ### Methods inherited from interface org.apache.coyote.InputBuffer

      `available, doRead, doRead`

- - ### Method Detail

    - #### setRequest

          void setRequest(Request request)

      Some filters need additional parameters from the request.
      Parameters:
        `request` - The request to be associated with this filter

    - #### recycle

          void recycle()

      Make the filter ready to process the next request.

    - #### getEncodingName

          ByteChunk getEncodingName()

      Get the name of the encoding handled by this filter.
      Returns:
        The encoding name as a byte chunk to facilitate comparison with the value read from the HTTP headers which will also be a ByteChunk

    - #### setBuffer

          void setBuffer(InputBuffer buffer)

      Set the next buffer in the filter pipeline.
      Parameters:
        `buffer` - The next buffer

    - #### end

          long end()
                   throws IOException

      End the current request.
      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` - If an error happens

    - #### isFinished

          boolean isFinished()

      Has the request body been read fully?
      Returns:
        `true` if the request body has been fully read, otherwise `false`

Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.