diff options
Diffstat (limited to 'lib/puppet/network/handler.rb')
-rw-r--r-- | lib/puppet/network/handler.rb | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/puppet/network/handler.rb b/lib/puppet/network/handler.rb index 080997e98..33343e4fe 100644 --- a/lib/puppet/network/handler.rb +++ b/lib/puppet/network/handler.rb @@ -1,9 +1,12 @@ +require 'puppet/util/docs' require 'puppet/util/subclass_loader' module Puppet::Network # The base class for the different handlers. The handlers are each responsible # for separate xmlrpc namespaces. class Handler + extend Puppet::Util::Docs + # This is so that the handlers can subclass just 'Handler', rather # then having to specify the full class path. Handler = self @@ -24,6 +27,20 @@ module Puppet::Network end end + # Set/Determine whether we're a client- or server-side handler. + def self.side(side = nil) + if side + side = side.intern if side.is_a?(String) + unless [:client, :server].include?(side) + raise ArgumentError, "Invalid side registration '%s' for %s" % [side, self.name] + end + @side = side + else + @side ||= :server + return @side + end + end + # Create an empty init method with the same signature. def initialize(hash = {}) end |