OutputFilter (Apache Tomcat 7.0.103 API Documentation)

org.apache.coyote.http11

## Interface OutputFilter

- All Superinterfaces:
    OutputBuffer
  All Known Implementing Classes:
    ChunkedOutputFilter, GzipOutputFilter, IdentityOutputFilter, VoidOutputFilter

      public interface OutputFilter
      extends OutputBuffer

  Output filter.
  Author:
    Remy Maucherat

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `doWrite(ByteChunk chunk, Response unused)` Write some bytes.
    `long` | `end()` End the current request.
    `void` | `recycle()` Make the filter ready to process the next request.
    `void` | `setBuffer(OutputBuffer buffer)` Set the next buffer in the filter pipeline.
    `void` | `setResponse(Response response)` Some filters need additional parameters from the response.

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

      `getBytesWritten`

- - ### Method Detail

    - #### doWrite

          int doWrite(ByteChunk chunk,
                    Response unused)
                      throws IOException

      Write some bytes.
      Specified by:
        `doWrite` in interface `OutputBuffer`
      Parameters:
        `chunk` - data to write
        `unused` - The response to which the data should be written. (Should be the response already associated with the OutputBuffer).
      Returns:
        number of bytes written by the filter
      Throws:
        `IOException` - an underlying I/O error occurred

    - #### setResponse

          void setResponse(Response response)

      Some filters need additional parameters from the response. All the necessary reading can occur in that method, as this method is called after the response header processing is complete.

    - #### recycle

          void recycle()

      Make the filter ready to process the next request.

    - #### setBuffer

          void setBuffer(OutputBuffer buffer)

      Set the next buffer in the filter pipeline.

    - #### end

          long end()
                   throws IOException

      End the current request. It is acceptable to write extra bytes using buffer.doWrite during the execution of this method.
      Returns:
        Should return 0 unless the filter does some content length delimitation, in which case the number is the amount of extra bytes or missing bytes, which would indicate an error. Note: It is recommended that extra bytes be swallowed by the filter.
      Throws:
        `IOException`

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