diff options
author | Rick Bradley <rick@rickbradley.com> | 2007-10-16 11:13:17 -0500 |
---|---|---|
committer | Rick Bradley <rick@rickbradley.com> | 2007-10-16 11:13:17 -0500 |
commit | b8c877c121f6b376cd44b13cb90d69c41d0fb004 (patch) | |
tree | 703a7a66f7d54618fb001e5be6b003dcc0900796 /lib/puppet | |
parent | 3c370b3570d39c18799085793e083898cda72e68 (diff) | |
download | puppet-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.rb | 10 | ||||
-rw-r--r-- | lib/puppet/network/http/webrick/rest.rb | 10 |
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) || |