Please disable Adblockers and enable JavaScript for domain CEWebS.cs.univie.ac.at! We have NO ADS, but they may interfere with some of our course material.
Name: tests/monitor.rb
1: | #!/usr/bin/ruby |
2: | require 'riddl/client' |
3: | |
4: | srv = Riddl::Client.new('http://localhost:9300','http://localhost:9300/?riddl-description') |
5: | res = srv.resource("/Virtual%20Business%201/notifications/subscriptions") |
6: | status, response = res.get |
7: | sub = '' |
8: | XML::Smart.string(response[0].value.read) do |doc| |
9: | doc.register_namespace "s",'http://riddl.org/ns/common-patterns/notifications-producer/1.0' |
10: | doc.find('/s:subscriptions/s:subscription/@id').each do |ele| |
11: | sub = ele.to_s |
12: | end |
13: | end |
14: | p sub |
15: | view = srv.resource("/Virtual%20Business%201/notifications/subscriptions/#{sub}/ws/") |
16: | view.ws do |conn| |
17: | conn.stream do |msg| |
18: | puts "<#{msg}>" |
19: | end |
20: | conn.disconnect do |
21: | EM::stop_event_loop |
22: | end |
23: | end |