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

    Modifier and Type
    Method
    Description
    long
    end()
    End the current request.
    Get the name of the encoding handled by this filter.
    boolean
    Has the request body been read fully?
    void
    Make the filter ready to process the next request.
    void
    Set the next buffer in the filter pipeline.
    void
    Some filters need additional parameters from the request.

    Methods inherited from interface org.apache.coyote.InputBuffer

    available, doRead, doRead
  • Method Details

    • 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