summaryrefslogtreecommitdiffstats
path: root/lib/puppet/network
diff options
context:
space:
mode:
Diffstat (limited to 'lib/puppet/network')
-rw-r--r--lib/puppet/network/http/mongrel.rb6
-rw-r--r--lib/puppet/network/http/webrick.rb5
-rw-r--r--lib/puppet/network/server.rb6
3 files changed, 13 insertions, 4 deletions
diff --git a/lib/puppet/network/http/mongrel.rb b/lib/puppet/network/http/mongrel.rb
index 49449cf59..bbba69fe3 100644
--- a/lib/puppet/network/http/mongrel.rb
+++ b/lib/puppet/network/http/mongrel.rb
@@ -6,9 +6,11 @@ class Puppet::Network::HTTP::Mongrel
end
def listen(args = {})
- raise ArgumentError if args.keys.empty?
+ raise ArgumentError, ":handlers must be specified." if !args[:handlers] or args[:handlers].keys.empty?
+ raise ArgumentError, ":address must be specified." unless args[:address]
+ raise ArgumentError, ":port must be specified." unless args[:port]
raise "Mongrel server is already listening" if listening?
- @server = Mongrel::HttpServer.new("0.0.0.0", "3000")
+ @server = Mongrel::HttpServer.new(args[:address], args[:port])
@server.run
@listening = true
end
diff --git a/lib/puppet/network/http/webrick.rb b/lib/puppet/network/http/webrick.rb
index 85a329454..c22bce938 100644
--- a/lib/puppet/network/http/webrick.rb
+++ b/lib/puppet/network/http/webrick.rb
@@ -7,8 +7,11 @@ class Puppet::Network::HTTP::WEBrick < WEBrick::HTTPServer
end
def listen(args = {})
- raise ArgumentError if args.keys.empty?
+ raise ArgumentError, ":handlers must be specified." if !args[:handlers] or args[:handlers].keys.empty?
+ raise ArgumentError, ":address must be specified." unless args[:address]
+ raise ArgumentError, ":port must be specified." unless args[:port]
raise "WEBrick server is already listening" if listening?
+
# TODO / FIXME: this should be moved out of the wacky Puppet global namespace!
Puppet.start
@listening = true
diff --git a/lib/puppet/network/server.rb b/lib/puppet/network/server.rb
index 941cb9df1..0541c1c3b 100644
--- a/lib/puppet/network/server.rb
+++ b/lib/puppet/network/server.rb
@@ -1,9 +1,13 @@
class Puppet::Network::Server
- attr_reader :server_type, :http_server_class, :protocols
+ attr_reader :server_type, :http_server_class, :protocols, :address, :port
def initialize(args = {})
@server_type = Puppet[:servertype] or raise "No servertype configuration found." # e.g., WEBrick, Mongrel, etc.
@http_server_class = http_server_class_by_type(@server_type)
+ @address = args[:address] || Puppet[:bindaddress] ||
+ raise(ArgumentError, "Must specify :address or configure Puppet :bindaddress.")
+ @port = args[:port] || Puppet[:masterport] ||
+ raise(ArgumentError, "Must specify :port or configure Puppet :masterport")
@protocols = []
@listening = false
@routes = {}