Class SavedRequestInputFilter

java.lang.Object
org.apache.coyote.http11.filters.SavedRequestInputFilter
All Implemented Interfaces:
InputFilter, InputBuffer

public class SavedRequestInputFilter extends Object implements InputFilter
Input filter responsible for replaying the request body when restoring the saved request after FORM authentication.
  • Field Details

    • input

      protected ByteChunk input
      The original request body.
  • Constructor Details

    • SavedRequestInputFilter

      public SavedRequestInputFilter(ByteChunk input)
      Create a new SavedRequestInputFilter.
      Parameters:
      input - The saved request body to be replayed.
  • Method Details

    • 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
    • setRequest

      public void setRequest(Request request)
      Some filters need additional parameters from the request. Set the content length on the request.
      Specified by:
      setRequest in interface InputFilter
      Parameters:
      request - The request to be associated with this filter
    • recycle

      public void recycle()
      Description copied from interface: InputFilter
      Make the filter ready to process the next request.
      Specified by:
      recycle in interface InputFilter
    • getEncodingName

      public ByteChunk getEncodingName()
      Description copied from interface: InputFilter
      Get the name of the encoding handled by this filter.
      Specified by:
      getEncodingName in interface InputFilter
      Returns:
      null
    • setBuffer

      public void setBuffer(InputBuffer buffer)
      Set the next buffer in the filter pipeline (has no effect).
      Specified by:
      setBuffer in interface InputFilter
      Parameters:
      buffer - ignored
    • 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
    • end

      public long end() throws IOException
      End the current request (has no effect).
      Specified by:
      end in interface InputFilter
      Returns:
      0
      Throws:
      IOException - If an error happens
    • isFinished

      public boolean isFinished()
      Description copied from interface: InputFilter
      Has the request body been read fully?
      Specified by:
      isFinished in interface InputFilter
      Returns:
      true if the request body has been fully read, otherwise false