org.apache.coyote.http11.filters

Class GzipOutputFilter

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 static ByteChunk
ENCODING
protected static String
ENCODING_NAME
protected OutputBuffer
buffer
Next buffer in the pipeline.
protected GZIPOutputStream
compressionStream
Compression output stream.
protected OutputStream
fakeOutputStream
Fake internal output stream.

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.

Field Details

ENCODING

protected static final ByteChunk ENCODING


ENCODING_NAME

protected static final String ENCODING_NAME


buffer

protected OutputBuffer buffer
Next buffer in the pipeline.


compressionStream

protected GZIPOutputStream compressionStream
Compression output stream.


fakeOutputStream

protected OutputStream fakeOutputStream
Fake internal output stream.

Method Details

doWrite

public int doWrite(ByteChunk chunk,
                   Response res)
            throws IOException
Write some bytes.
Specified by:
doWrite in interface OutputFilter
doWrite in interface OutputBuffer

Returns:
number of bytes written by the filter


end

public long end()
            throws 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


getEncodingName

public ByteChunk getEncodingName()
Return the name of the associated encoding; Here, the value is "identity".
Specified by:
getEncodingName in interface OutputFilter


recycle

public void recycle()
Make the filter ready to process the next request.
Specified by:
recycle in interface OutputFilter


setBuffer

public void setBuffer(OutputBuffer buffer)
Set the next buffer in the filter pipeline.
Specified by:
setBuffer in interface OutputFilter


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


Copyright B) 2000-2003 Apache Software Foundation. All Rights Reserved.