# File lib/puppet/network/server.rb, line 57
57:     def initialize(args = {})
58:         valid_args = [:handlers, :xmlrpc_handlers, :port]
59:         bad_args = args.keys.find_all { |p| ! valid_args.include?(p) }.collect { |p| p.to_s }.join(",")
60:         raise ArgumentError, "Invalid argument(s) %s" % bad_args unless bad_args == ""
61:         @server_type = Puppet[:servertype] or raise "No servertype configuration found."  # e.g.,  WEBrick, Mongrel, etc.
62:         http_server_class || raise(ArgumentError, "Could not determine HTTP Server class for server type [#{@server_type}]")
63: 
64:         @port = args[:port] || Puppet[:masterport] || raise(ArgumentError, "Must specify :port or configure Puppet :masterport")
65:         @address = determine_bind_address()
66: 
67:         @protocols = [ :rest, :xmlrpc ]
68:         @listening = false
69:         @routes = {}
70:         @xmlrpc_routes = {}
71:         self.register(args[:handlers]) if args[:handlers]
72:         self.register_xmlrpc(args[:xmlrpc_handlers]) if args[:xmlrpc_handlers]
73: 
74:         # Make sure we have all of the directories we need to function.
75:         Puppet.settings.use(:main, :ssl, Puppet[:name])
76:     end