Package org.apache.coyote.http11.filters
Class GzipOutputFilter
- java.lang.Object
- 
- org.apache.coyote.http11.filters.GzipOutputFilter
 
- 
- All Implemented Interfaces:
- HttpOutputBuffer,- OutputFilter,- OutputBuffer
 
 public class GzipOutputFilter extends java.lang.Object implements OutputFilter Gzip output filter.- Author:
- Remy Maucherat
 
- 
- 
Nested Class SummaryNested Classes Modifier and Type Class Description protected classGzipOutputFilter.FakeOutputStream
 - 
Field SummaryFields Modifier and Type Field Description protected HttpOutputBufferbufferNext buffer in the pipeline.protected java.util.zip.GZIPOutputStreamcompressionStreamCompression output stream.protected java.io.OutputStreamfakeOutputStreamFake internal output stream.protected static Loglog
 - 
Constructor SummaryConstructors Constructor Description GzipOutputFilter()
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description intdoWrite(java.nio.ByteBuffer chunk)Write the given data to the response.intdoWrite(ByteChunk chunk)Deprecated.Unused.voidend()Finish writing the current response.voidflush()Added to allow flushing to happen for the gzip'ed outputstreamlonggetBytesWritten()Bytes written to the underlying socket.voidrecycle()Make the filter ready to process the next request.voidsetBuffer(HttpOutputBuffer buffer)Set the next buffer in the filter pipeline.voidsetResponse(Response response)Some filters need additional parameters from the response.
 
- 
- 
- 
Field Detail- 
logprotected static final Log log 
 - 
bufferprotected HttpOutputBuffer buffer Next buffer in the pipeline.
 - 
compressionStreamprotected java.util.zip.GZIPOutputStream compressionStream Compression output stream.
 - 
fakeOutputStreamprotected final java.io.OutputStream fakeOutputStream Fake internal output stream.
 
- 
 - 
Method Detail- 
doWrite@Deprecated public int doWrite(ByteChunk chunk) throws java.io.IOException Deprecated.Unused. Will be removed in Tomcat 9. UsedoWrite(ByteBuffer)Description copied from interface:OutputBufferWrite the given data to the response. The caller owns the chunks.- Specified by:
- doWritein interface- OutputBuffer
- Parameters:
- chunk- data to write
- Returns:
- The number of bytes written which may be less than available in the input chunk
- Throws:
- java.io.IOException- an underlying I/O error occurred
 
 - 
doWritepublic int doWrite(java.nio.ByteBuffer chunk) throws java.io.IOExceptionDescription copied from interface:OutputBufferWrite the given data to the response. The caller owns the chunks.- Specified by:
- doWritein interface- OutputBuffer
- Parameters:
- chunk- data to write
- Returns:
- The number of bytes written which may be less than available in the input chunk
- Throws:
- java.io.IOException- an underlying I/O error occurred
 
 - 
getBytesWrittenpublic long getBytesWritten() Description copied from interface:OutputBufferBytes written to the underlying socket. This includes the effects of chunking, compression, etc.- Specified by:
- getBytesWrittenin interface- OutputBuffer
- Returns:
- Bytes written for the current request
 
 - 
flushpublic void flush() throws java.io.IOExceptionAdded to allow flushing to happen for the gzip'ed outputstream- Specified by:
- flushin interface- HttpOutputBuffer
- Throws:
- java.io.IOException- If an I/O error occurs while flushing
 
 - 
setResponsepublic void setResponse(Response response) Description copied from interface:OutputFilterSome 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:
- setResponsein interface- OutputFilter
- Parameters:
- response- The response to associate with this OutputFilter
 
 - 
setBufferpublic void setBuffer(HttpOutputBuffer buffer) Description copied from interface:OutputFilterSet the next buffer in the filter pipeline.- Specified by:
- setBufferin interface- OutputFilter
- Parameters:
- buffer- The next buffer instance
 
 - 
endpublic void end() throws java.io.IOExceptionDescription copied from interface:HttpOutputBufferFinish writing the current response. It is acceptable to write extra bytes usingOutputBuffer.doWrite(java.nio.ByteBuffer)during the execution of this method.- Specified by:
- endin interface- HttpOutputBuffer
- Throws:
- java.io.IOException- If an I/O error occurs while writing to the client
 
 - 
recyclepublic void recycle() Make the filter ready to process the next request.- Specified by:
- recyclein interface- OutputFilter
 
 
- 
 
-