Class GzipOutputFilter
java.lang.Object
org.apache.coyote.http11.filters.GzipOutputFilter
- All Implemented Interfaces:
HttpOutputBuffer,OutputFilter,OutputBuffer
Gzip output filter.
- Author:
- Remy Maucherat
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected HttpOutputBufferNext buffer in the pipeline.protected GZIPOutputStreamCompression output stream.protected final OutputStreamFake internal output stream.protected static final Log -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintdoWrite(ByteBuffer chunk) Write the given data to the response.voidend()Finish writing the current response.voidflush()Flushes any unwritten data to the client.longBytes 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 Details
-
log
-
buffer
Next buffer in the pipeline. -
compressionStream
Compression output stream. -
fakeOutputStream
Fake internal output stream.
-
-
Constructor Details
-
GzipOutputFilter
public GzipOutputFilter()
-
-
Method Details
-
doWrite
Description copied from interface:OutputBufferWrite the given data to the response. The caller owns the chunks.- Specified by:
doWritein interfaceOutputBuffer- Parameters:
chunk- data to write- Returns:
- The number of bytes written which may be less than available in the input chunk
- Throws:
IOException- an underlying I/O error occurred
-
getBytesWritten
public long getBytesWritten()Description copied from interface:OutputBufferBytes written to the underlying socket. This includes the effects of chunking, compression, etc.- Specified by:
getBytesWrittenin interfaceOutputBuffer- Returns:
- Bytes written for the current request
-
flush
Flushes any unwritten data to the client. Added to allow flushing to happen for the gzip'ed outputstream.- Specified by:
flushin interfaceHttpOutputBuffer- Throws:
IOException- If an I/O error occurs while flushing
-
setResponse
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 interfaceOutputFilter- Parameters:
response- The response to associate with this OutputFilter
-
setBuffer
Description copied from interface:OutputFilterSet the next buffer in the filter pipeline.- Specified by:
setBufferin interfaceOutputFilter- Parameters:
buffer- The next buffer instance
-
end
Description 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 interfaceHttpOutputBuffer- Throws:
IOException- If an I/O error occurs while writing to the client
-
recycle
public void recycle()Description copied from interface:OutputFilterMake the filter ready to process the next request.- Specified by:
recyclein interfaceOutputFilter
-