# File lib/puppet/network/http/mongrel.rb, line 10
10:   def listen(args = {})
11:     raise ArgumentError, ":protocols must be specified." if !args[:protocols] or args[:protocols].empty?
12:     raise ArgumentError, ":address must be specified." unless args[:address]
13:     raise ArgumentError, ":port must be specified." unless args[:port]
14:     raise "Mongrel server is already listening" if listening?
15: 
16:     @protocols = args[:protocols]
17:     @xmlrpc_handlers = args[:xmlrpc_handlers]
18:     @server = Mongrel::HttpServer.new(args[:address], args[:port])
19:     setup_handlers
20: 
21:     @listening = true
22:     @server.run
23:   end