## org.apache.coyote.http11.filters
Class GzipOutputFilter

    java.lang.Object
      org.apache.coyote.http11.filters.GzipOutputFilter

All Implemented Interfaces:
  OutputBuffer, OutputFilter

public class GzipOutputFilter
extends java.lang.Object
implements OutputFilter

Gzip output filter.

Author:
  Remy Maucherat

Nested Class Summary
`protected class` `GzipOutputFilter.FakeOutputStream`

Field Summary
`protected OutputBuffer` `buffer` Next buffer in the pipeline.
`protected java.util.zip.GZIPOutputStream` `compressionStream` Compression output stream.
`protected static ByteChunk` `ENCODING`
`protected static java.lang.String` `ENCODING_NAME`
`protected java.io.OutputStream` `fakeOutputStream` Fake internal output stream.

Constructor Summary
`GzipOutputFilter()`

Method Summary
`int` `doWrite(ByteChunk chunk, Response res)` Write some bytes.
`long` `end()` End the current request.
`ByteChunk` `getEncodingName()` Return the name of the associated encoding; Here, the value is "identity".
`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 class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### ENCODING_NAME

    protected static final java.lang.String ENCODING_NAME

See Also:
  Constant Field Values

### ENCODING

    protected static final ByteChunk ENCODING

### buffer

    protected OutputBuffer buffer

  Next buffer in the pipeline.

### compressionStream

    protected java.util.zip.GZIPOutputStream compressionStream

  Compression output stream.

### fakeOutputStream

    protected java.io.OutputStream fakeOutputStream

  Fake internal output stream.

Constructor Detail

### GzipOutputFilter

    public GzipOutputFilter()

Method Detail

### doWrite

    public int doWrite(ByteChunk chunk,
                       Response res)
                throws java.io.IOException

  Write some bytes.

  Specified by:
    `doWrite` in interface `OutputFilter`
  Returns:
    number of bytes written by the filter
  Throws:
    `java.io.IOException`

### setResponse

    public 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.

  Specified by:
    `setResponse` in interface `OutputFilter`

### setBuffer

    public void setBuffer(OutputBuffer buffer)

  Set the next buffer in the filter pipeline.

  Specified by:
    `setBuffer` in interface `OutputFilter`

### end

    public long end()
             throws java.io.IOException

  End the current request. It is acceptable to write extra bytes using buffer.doWrite during the execution of this method.

  Specified by:
    `end` in interface `OutputFilter`
  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:
    `java.io.IOException`

### recycle

    public void recycle()

  Make the filter ready to process the next request.

  Specified by:
    `recycle` in interface `OutputFilter`

### getEncodingName

    public ByteChunk getEncodingName()

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

  Specified by:
    `getEncodingName` in interface `OutputFilter`

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