class Async::HTTP::Protocol::HTTP11

def receive_requests(task: Task.current)

Server loop.
def receive_requests(task: Task.current)
	while true
		request = Request.new(*read_request)
		
		response = yield request
		
		response.version ||= request.version
		
		write_response(response.version, response.status, response.headers, response.body)
		
		request.finish
		
		unless keep_alive?(request.headers) and keep_alive?(response.headers)
			@keep_alive = false
			
			break
		end
		
		# This ensures we yield at least once every iteration of the loop and allow other fibers to execute.
		task.yield
	end
end