Package org.apache.coyote.http11.filters
Class VoidInputFilter
- java.lang.Object
- 
- org.apache.coyote.http11.filters.VoidInputFilter
 
- 
- All Implemented Interfaces:
- InputFilter,- InputBuffer
 
 public class VoidInputFilter extends java.lang.Object implements InputFilter Void input filter, which returns -1 when attempting a read. Used with a GET, HEAD, or a similar request.- Author:
- Remy Maucherat
 
- 
- 
Field SummaryFields Modifier and Type Field Description protected static ByteChunkENCODINGprotected static java.lang.StringENCODING_NAME
 - 
Constructor SummaryConstructors Constructor Description VoidInputFilter()
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description intavailable()Obtain an estimate of the number of bytes that can be read without blocking.intdoRead(ByteChunk chunk)Deprecated.Unused.intdoRead(ApplicationBufferHandler handler)Read from the input stream into the ByteBuffer provided by the ApplicationBufferHandler.longend()End the current request.ByteChunkgetEncodingName()Return the name of the associated encoding; Here, the value is "void".booleanisFinished()Has the request body been read fully?voidrecycle()Make the filter ready to process the next request.voidsetBuffer(InputBuffer buffer)Set the next buffer in the filter pipeline.voidsetRequest(Request request)Set the associated request.
 
- 
- 
- 
Field Detail- 
ENCODING_NAMEprotected static final java.lang.String ENCODING_NAME - See Also:
- Constant Field Values
 
 - 
ENCODINGprotected static final ByteChunk ENCODING 
 
- 
 - 
Method Detail- 
doRead@Deprecated public int doRead(ByteChunk chunk) throws java.io.IOException Deprecated.Unused. Will be removed in Tomcat 9. UsedoRead(ApplicationBufferHandler)Description copied from interface:InputBufferRead from the input stream into the given buffer. IMPORTANT: the current model assumes that the protocol will 'own' the buffer and return a pointer to it in ByteChunk (i.e. the param will have chunk.getBytes()==null before call, and the result after the call).- Specified by:
- doReadin interface- InputBuffer
- Parameters:
- chunk- The buffer to read data into.
- Returns:
- The number of bytes that have been added to the buffer or -1 for end of stream
- Throws:
- java.io.IOException- If an I/O error occurs reading from the input stream
 
 - 
doReadpublic int doRead(ApplicationBufferHandler handler) throws java.io.IOException Description copied from interface:InputBufferRead from the input stream into the ByteBuffer provided by the ApplicationBufferHandler. IMPORTANT: the current model assumes that the protocol will 'own' the ByteBuffer and return a pointer to it.- Specified by:
- doReadin interface- InputBuffer
- Parameters:
- handler- ApplicationBufferHandler that provides the buffer to read data into.
- Returns:
- The number of bytes that have been added to the buffer or -1 for end of stream
- Throws:
- java.io.IOException- If an I/O error occurs reading from the input stream
 
 - 
setRequestpublic void setRequest(Request request) Set the associated request.- Specified by:
- setRequestin interface- InputFilter
- Parameters:
- request- The request to be associated with this filter
 
 - 
setBufferpublic void setBuffer(InputBuffer buffer) Set the next buffer in the filter pipeline.- Specified by:
- setBufferin interface- InputFilter
- Parameters:
- buffer- The next buffer
 
 - 
recyclepublic void recycle() Make the filter ready to process the next request.- Specified by:
- recyclein interface- InputFilter
 
 - 
getEncodingNamepublic ByteChunk getEncodingName() Return the name of the associated encoding; Here, the value is "void".- Specified by:
- getEncodingNamein interface- InputFilter
- Returns:
- The encoding name as a byte chunk to facilitate comparison with the value read from the HTTP headers which will also be a ByteChunk
 
 - 
endpublic long end() throws java.io.IOExceptionEnd the current request. It is acceptable to write extra bytes using buffer.doWrite during the execution of this method.- Specified by:
- endin interface- InputFilter
- 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- If an error happens
 
 - 
availablepublic int available() Description copied from interface:InputBufferObtain an estimate of the number of bytes that can be read without blocking. Typically, this will be the number of available bytes known to be buffered.- Specified by:
- availablein interface- InputBuffer
- Returns:
- The number of bytes that can be read without blocking
 
 - 
isFinishedpublic boolean isFinished() Description copied from interface:InputFilterHas the request body been read fully?- Specified by:
- isFinishedin interface- InputFilter
- Returns:
- trueif the request body has been fully read, otherwise- false
 
 
- 
 
-