class Async::HTTP::Body::Streamable

def read

def read
	if chunk = super
		@remaining -= chunk.bytesize if @remaining
	else
		if @remaining and @remaining > 0
			raise EOFError, "Expected #{@remaining} more bytes!"
		end
		
		@callback.call
	end
	
	return chunk
end