From b8c877c121f6b376cd44b13cb90d69c41d0fb004 Mon Sep 17 00:00:00 2001 From: Rick Bradley Date: Tue, 16 Oct 2007 11:13:17 -0500 Subject: Registration now built for {webrick,mongrel} REST handlers. --- lib/puppet/network/http/mongrel/rest.rb | 10 ++++++++-- lib/puppet/network/http/webrick/rest.rb | 10 ++++++++-- 2 files changed, 16 insertions(+), 4 deletions(-) (limited to 'lib') 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) || -- cgit