class Async::HTTP::Server

def handle_request(request, peer, address)

def handle_request(request, peer, address)
	[200, {}, []]
end

def initialize(addresses, protocol_class = Protocol::HTTP1x)

def initialize(addresses, protocol_class = Protocol::HTTP1x)
	@addresses = addresses
	@protocol_class = protocol_class
end

def run

def run
	Async::IO::Address.each(@addresses) do |address|
		# puts "Binding to #{address} on process #{Process.pid}"
		
		address.accept do |peer|
			stream = Async::IO::Stream.new(peer)
			
			protocol = @protocol_class.new(stream)
			
			# puts "Opening session on child pid #{Process.pid}"
			
			hijack = catch(:hijack) do
				protocol.receive_requests do |request|
					handle_request(request, peer, address)
				end
			end
			if hijack
				hijack.call
			end
			# puts "Closing session"
		end
	end
end