class InputWrapper
	
	
	Wraps a Rack input object into a readable body.
This class provides a consistent interface for reading from Rack input streams,
which may be any IO-like object that responds to read and close.
Definitions
BLOCK_SIZE = 1024*4
The default block size for reading from the input stream.
def initialize(io, block_size: BLOCK_SIZE)
Initialize the input wrapper.
Signature
	- 
					parameter ioObject
- The input object that responds to - readand- close.
- 
					parameter block_sizeInteger
- The size of chunks to read at a time. 
Implementation
						def initialize(io, block_size: BLOCK_SIZE)
	@io = io
	@block_size = block_size
	
	super()
enddef close(error = nil)
Close the input stream.
If the input object responds to close, it will be called.
Signature
	- 
					parameter errorException
- Optional error that occurred during processing. 
Implementation
						def close(error = nil)
	if @io
		@io.close
		@io = nil
	end
enddef read
Read the next chunk from the input stream. Returns nil when there is no more data to read.
Signature
	- 
					returns String | Nil
- The next chunk of data or nil if there is no more data. 
Implementation
						def read
	@io&.read(@block_size)
end