14: def initialize
15: begin
16: uri = URI.parse(Puppet[:queue_source])
17: rescue => detail
18: raise ArgumentError, "Could not create Stomp client instance - queue source #{Puppet[:queue_source]} is invalid: #{detail}"
19: end
20: unless uri.scheme == "stomp"
21: raise ArgumentError, "Could not create Stomp client instance - queue source #{Puppet[:queue_source]} is not a Stomp URL: #{detail}"
22: end
23:
24: begin
25: self.stomp_client = Stomp::Client.new(uri.user, uri.password, uri.host, uri.port, true)
26: rescue => detail
27: raise ArgumentError, "Could not create Stomp client instance with queue source #{Puppet[:queue_source]}: got internal Stomp client error #{detail}"
28: end
29: end