class Async::HTTP::Body::Pipe

def writer(task)

If the @tail is closed, this will cause chunk to be nil, which in turn will call `@output.close` and `@head.close`
Read from the head of the pipe and write to the @output stream.
def writer(task)
	@writer = task
	
	task.annotate "#{self.class} writer."
	
	while chunk = @head.read_partial
		@output.write(chunk)
	end
rescue => error
	raise
ensure
	@output.close_write(error)
	
	close_head if @reader&.finished?
end