Sha256: 4bf2624ecc074f0184a99ebd5d2732c36db6c28b9879155b1ee1121297d60db3
Contents?: true
Size: 983 Bytes
Versions: 4
Compression:
Stored size: 983 Bytes
Contents
class Puppet::HTTP::Session def initialize(client, resolvers) @client = client @resolvers = resolvers @resolved_services = {} @resolution_exceptions = [] end def route_to(name, ssl_context: nil) raise ArgumentError, "Unknown service #{name}" unless Puppet::HTTP::Service.valid_name?(name) cached = @resolved_services[name] return cached if cached @resolution_exceptions = [] @resolvers.each do |resolver| Puppet.debug("Resolving service '#{name}' using #{resolver.class}") service = resolver.resolve(self, name, ssl_context: ssl_context) if service @resolved_services[name] = service Puppet.debug("Resolved service '#{name}' to #{service.url}") return service end end @resolution_exceptions.each { |e| Puppet.log_exception(e) } raise Puppet::HTTP::RouteError, "No more routes to #{name}" end def add_exception(exception) @resolution_exceptions << exception end end
Version data entries
4 entries across 4 versions & 1 rubygems