Package org.apache.coyote.http11.filters
Class ChunkedOutputFilter
- java.lang.Object
-
- org.apache.coyote.http11.filters.ChunkedOutputFilter
-
- All Implemented Interfaces:
HttpOutputBuffer,OutputFilter,OutputBuffer
public class ChunkedOutputFilter extends java.lang.Object implements OutputFilter
Chunked output filter.- Author:
- Remy Maucherat
-
-
Field Summary
Fields Modifier and Type Field Description protected HttpOutputBufferbufferNext buffer in the pipeline.protected java.nio.ByteBufferchunkHeaderChunk header.protected java.nio.ByteBufferendChunkEnd chunk.
-
Constructor Summary
Constructors Constructor Description ChunkedOutputFilter()Default constructor.
-
Method Summary
All 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()Flushes any unwritten data to the client.longgetBytesWritten()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
-
buffer
protected HttpOutputBuffer buffer
Next buffer in the pipeline.
-
chunkHeader
protected final java.nio.ByteBuffer chunkHeader
Chunk header.
-
endChunk
protected final java.nio.ByteBuffer endChunk
End chunk.
-
-
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 interfaceOutputBuffer- 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
-
doWrite
public 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 interfaceOutputBuffer- 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
-
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
-
setResponse
public 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 interfaceOutputFilter- Parameters:
response- The response to associate with this OutputFilter
-
setBuffer
public void setBuffer(HttpOutputBuffer buffer)
Description copied from interface:OutputFilterSet the next buffer in the filter pipeline.- Specified by:
setBufferin interfaceOutputFilter- Parameters:
buffer- The next buffer instance
-
flush
public void flush() throws java.io.IOExceptionDescription copied from interface:HttpOutputBufferFlushes any unwritten data to the client.- Specified by:
flushin interfaceHttpOutputBuffer- Throws:
java.io.IOException- If an I/O error occurs while flushing
-
end
public 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 interfaceHttpOutputBuffer- Throws:
java.io.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
-
-