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 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 Summary

Fields
`protected static ByteChunk` `ENCODING`
`protected static String` `ENCODING_NAME`

### Constructor Summary

Constructors
Constructor and Description
`VoidInputFilter()`

### Method Summary

Methods
`int` `available()` Amount of bytes still available in a buffer.
`int` `doRead(ByteChunk chunk, Request req)` Write some bytes.
`long` `end()` End the current request.
`ByteChunk` `getEncodingName()` Return the name of the associated encoding; Here, the value is "void".
`void` `recycle()` Make the filter ready to process the next request.
`void` `setBuffer(InputBuffer buffer)` Set the next buffer in the filter pipeline.
`void` `setRequest(Request request)` Set the associated request.

### 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 String ENCODING_NAME

See Also:
  Constant Field Values

#### ENCODING

    protected static final ByteChunk ENCODING

### Constructor Detail

#### VoidInputFilter

    public VoidInputFilter()

### Method Detail

#### doRead

    public int doRead(ByteChunk chunk,
             Request req)
               throws IOException

Write some bytes.

Specified by:
  `doRead` in interface `InputFilter`
Specified by:
  `doRead` in interface `InputBuffer`
Returns:
  number of bytes written by the filter
Throws:
  `IOException`

#### setRequest

    public void setRequest(Request request)

Set the associated request.

Specified by:
  `setRequest` in interface `InputFilter`

#### setBuffer

    public void setBuffer(InputBuffer buffer)

Set the next buffer in the filter pipeline.

Specified by:
  `setBuffer` in interface `InputFilter`

#### recycle

    public void recycle()

Make the filter ready to process the next request.

Specified by:
  `recycle` in interface `InputFilter`

#### getEncodingName

    public ByteChunk getEncodingName()

Return the name of the associated encoding; Here, the value is "void".

Specified by:
  `getEncodingName` in interface `InputFilter`

#### end

    public long end()
             throws 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 `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:
  `IOException`

#### available

    public int available()

Amount of bytes still available in a buffer.

Specified by:
  `available` in interface `InputFilter`