summaryrefslogtreecommitdiffstats
path: root/lib/puppet
diff options
context:
space:
mode:
authorRick Bradley <rick@rickbradley.com>2007-10-16 11:13:17 -0500
committerRick Bradley <rick@rickbradley.com>2007-10-16 11:13:17 -0500
commitb8c877c121f6b376cd44b13cb90d69c41d0fb004 (patch)
tree703a7a66f7d54618fb001e5be6b003dcc0900796 /lib/puppet
parent3c370b3570d39c18799085793e083898cda72e68 (diff)
downloadpuppet-b8c877c121f6b376cd44b13cb90d69c41d0fb004.tar.gz
puppet-b8c877c121f6b376cd44b13cb90d69c41d0fb004.tar.xz
puppet-b8c877c121f6b376cd44b13cb90d69c41d0fb004.zip
Registration now built for {webrick,mongrel} REST handlers.
Diffstat (limited to 'lib/puppet')
-rw-r--r--lib/puppet/network/http/mongrel/rest.rb10
-rw-r--r--lib/puppet/network/http/webrick/rest.rb10
2 files changed, 16 insertions, 4 deletions
diff --git a/lib/puppet/network/http/mongrel/rest.rb b/lib/puppet/network/http/mongrel/rest.rb
index 0b2c43dfe..452dafa85 100644
--- a/lib/puppet/network/http/mongrel/rest.rb
+++ b/lib/puppet/network/http/mongrel/rest.rb
@@ -1,12 +1,18 @@
class Puppet::Network::HTTP::MongrelREST
def initialize(args = {})
- raise ArgumentError unless args[:server]
+ raise ArgumentError unless @server = args[:server]
raise ArgumentError unless @handler = args[:handler]
- @model = find_model_for_handler(@handler)
+ register_handler
end
private
+ def register_handler
+ @model = find_model_for_handler(@handler)
+ @server.register('/' + @handler.to_s, self)
+ @server.register('/' + @handler.to_s + 's', self)
+ end
+
def find_model_for_handler(handler)
Puppet::Indirector::Indirection.model(handler) ||
raise(ArgumentError, "Cannot locate indirection [#{handler}].")
diff --git a/lib/puppet/network/http/webrick/rest.rb b/lib/puppet/network/http/webrick/rest.rb
index 497fa26cc..7b9a3912b 100644
--- a/lib/puppet/network/http/webrick/rest.rb
+++ b/lib/puppet/network/http/webrick/rest.rb
@@ -1,11 +1,17 @@
class Puppet::Network::HTTP::WEBrickREST
def initialize(args = {})
- raise ArgumentError unless args[:server]
+ raise ArgumentError unless @server = args[:server]
raise ArgumentError unless @handler = args[:handler]
- @model = find_model_for_handler(@handler)
+ register_handler
end
private
+
+ def register_handler
+ @model = find_model_for_handler(@handler)
+ @server.mount('/' + @handler.to_s, self)
+ @server.mount('/' + @handler.to_s + 's', self)
+ end
def find_model_for_handler(handler)
Puppet::Indirector::Indirection.model(handler) ||