Apache Tomcat 6.0.39

org.apache.coyote.http11.filters
Class GzipOutputFilter

java.lang.Object
  extended by org.apache.coyote.http11.filters.GzipOutputFilter
All Implemented Interfaces:
OutputFilter, OutputBuffer

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.
protected static Log log
          Logger.
 
Constructor Summary
GzipOutputFilter()
           
 
Method Summary
 int doWrite(ByteChunk chunk, Response res)
          Write some bytes.
 long end()
          End the current request.
 void flush()
          Added to allow flushing to happen for the gzip'ed outputstream
 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

log

protected static Log log
Logger.


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
Specified by:
doWrite in interface OutputBuffer
Parameters:
chunk - data to write
res - used to allow buffers that can be shared by multiple responses.
Returns:
number of bytes written by the filter
Throws:
java.io.IOException

flush

public void flush()
Added to allow flushing to happen for the gzip'ed outputstream


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

Apache Tomcat 6.0.39

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