ruby_rabbitmq_janus 1.2.9 → 2.0.0.pre.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +2 -0
  3. data/README.md +145 -32
  4. data/config/default.yml +2 -0
  5. data/config/requests.md +2 -1
  6. data/config/requests/admin/add_token.json +6 -0
  7. data/config/requests/admin/allow_token.json +6 -0
  8. data/config/requests/admin/disallow_token.json +6 -0
  9. data/config/requests/admin/handle_info.json +1 -1
  10. data/config/requests/admin/handles.json +1 -1
  11. data/config/requests/admin/remove_token.json +6 -0
  12. data/config/requests/admin/sessions.json +1 -1
  13. data/config/requests/admin/set_locking_debug.json +6 -0
  14. data/config/requests/admin/{log_level.json → set_log_level.json} +1 -1
  15. data/config/requests/admin/tokens.json +5 -0
  16. data/config/requests/base/attach.json +1 -1
  17. data/config/requests/base/create.json +1 -1
  18. data/config/requests/base/destroy.json +1 -1
  19. data/config/requests/base/detach.json +1 -1
  20. data/config/requests/base/info.json +1 -1
  21. data/config/requests/base/keepalive.json +1 -1
  22. data/config/requests/peer/answer.json +1 -1
  23. data/config/requests/peer/offer.json +1 -1
  24. data/config/requests/peer/trickle.json +1 -1
  25. data/lib/generators/ruby_rabbitmq_janus/initializer_generator.rb +3 -0
  26. data/lib/rrj/admin.rb +34 -0
  27. data/lib/rrj/errors/error.rb +2 -1
  28. data/lib/rrj/errors/init.rb +6 -0
  29. data/lib/rrj/errors/janus/janus.rb +1 -0
  30. data/lib/rrj/errors/janus/janus_message.rb +8 -4
  31. data/lib/rrj/errors/janus/janus_processus_keepalive.rb +1 -0
  32. data/lib/rrj/errors/janus/janus_response.rb +27 -6
  33. data/lib/rrj/errors/janus/janus_transaction.rb +4 -0
  34. data/lib/rrj/errors/rabbit/rabbit.rb +3 -1
  35. data/lib/rrj/errors/tools/config.rb +1 -0
  36. data/lib/rrj/info.rb +1 -1
  37. data/lib/rrj/init.rb +37 -169
  38. data/lib/rrj/janus/messages/admin.rb +1 -2
  39. data/lib/rrj/janus/messages/message.rb +4 -4
  40. data/lib/rrj/janus/messages/standard.rb +3 -5
  41. data/lib/rrj/janus/processus/concurrency.rb +1 -1
  42. data/lib/rrj/janus/processus/keepalive.rb +10 -4
  43. data/lib/rrj/janus/responses/admin.rb +31 -0
  44. data/lib/rrj/janus/responses/event.rb +23 -5
  45. data/lib/rrj/janus/responses/response.rb +2 -0
  46. data/lib/rrj/janus/responses/standard.rb +26 -5
  47. data/lib/rrj/janus/transactions/admin.rb +22 -26
  48. data/lib/rrj/janus/transactions/handle.rb +13 -8
  49. data/lib/rrj/janus/transactions/session.rb +25 -7
  50. data/lib/rrj/janus/transactions/transaction.rb +2 -1
  51. data/lib/rrj/rabbit/connect.rb +2 -3
  52. data/lib/rrj/rabbit/publish/admin.rb +1 -6
  53. data/lib/rrj/rabbit/publish/base_publisher.rb +6 -11
  54. data/lib/rrj/rabbit/publish/exclusive.rb +1 -0
  55. data/lib/rrj/rabbit/publish/listener.rb +10 -27
  56. data/lib/rrj/rabbit/publish/non_exclusive.rb +2 -6
  57. data/lib/rrj/rabbit/publish/publisher.rb +4 -17
  58. data/lib/rrj/tools/{config.rb → gem/config.rb} +5 -5
  59. data/lib/rrj/tools/{log.rb → gem/log.rb} +21 -6
  60. data/lib/rrj/tools/gem/option.rb +57 -0
  61. data/lib/rrj/tools/{requests.rb → gem/requests.rb} +0 -0
  62. data/lib/rrj/tools/replaces/admin.rb +7 -13
  63. data/lib/rrj/tools/replaces/handle.rb +61 -0
  64. data/lib/rrj/tools/replaces/replace.rb +57 -27
  65. data/lib/rrj/tools/replaces/session.rb +34 -0
  66. data/lib/rrj/tools/replaces/type.rb +63 -11
  67. data/lib/rrj/tools/tools.rb +4 -3
  68. data/lib/ruby_rabbitmq_janus.rb +1 -0
  69. data/spec/request/admin/request_handle_info_spec.rb +13 -7
  70. data/spec/request/admin/request_handles_spec.rb +20 -0
  71. data/spec/request/admin/request_sessions_spec.rb +5 -4
  72. data/spec/request/admin/request_set_locking_debug_spec.rb +16 -0
  73. data/spec/request/admin/request_set_log_level_spec.rb +16 -0
  74. data/spec/request/admin/request_tokens_spec.rb +13 -0
  75. data/spec/request/base/request_attach_spec.rb +6 -9
  76. data/spec/request/base/request_create_spec.rb +5 -3
  77. data/spec/request/base/request_destroy_spec.rb +5 -3
  78. data/spec/request/base/request_detach_spec.rb +6 -7
  79. data/spec/request/base/request_info_spec.rb +5 -3
  80. data/spec/request/base/request_keepalive_spec.rb +5 -3
  81. data/spec/request/peer/request_offer_spec.rb +18 -92
  82. data/spec/request/peer/request_trickle_spec.rb +9 -28
  83. data/spec/request/peer/request_trickles_spec.rb +23 -0
  84. data/spec/rrj/responses/responses_admin_spec.rb +39 -0
  85. data/spec/rrj/responses/responses_event_spec.rb +25 -0
  86. data/spec/rrj/responses/responses_response_spec.rb +31 -0
  87. data/spec/rrj/responses/responses_standard_spec.rb +43 -0
  88. data/spec/rrj/rrj_config_spec.rb +7 -7
  89. data/spec/rrj/rrj_rabbitmq_spec.rb +1 -1
  90. data/spec/rrj/tools/replace_admin_spec.rb +86 -0
  91. data/spec/rrj/tools/replace_handle_spec.rb +78 -0
  92. data/spec/rrj/tools/replace_session_spec.rb +66 -0
  93. data/spec/rrj/tools/replace_spec.rb +69 -0
  94. data/spec/rrj/tools/type_spec.rb +150 -0
  95. data/spec/spec_helper.rb +46 -7
  96. data/spec/support/examples_request.rb +33 -61
  97. data/spec/support/examples_response.rb +30 -0
  98. data/spec/support/schemas/request/admin/handles.json +15 -0
  99. data/spec/support/schemas/request/admin/set_locking_debug.json +13 -0
  100. data/spec/support/schemas/request/admin/set_log_level.json +11 -0
  101. data/spec/support/schemas/request/admin/tokens.json +13 -0
  102. data/spec/support/type.rb +66 -0
  103. metadata +41 -69
  104. data/config/requests/peer/trickles.json +0 -7
  105. data/lib/rrj/tools/replaces/standard.rb +0 -101
  106. data/spec/fixtures/config/requests/admin/handle_info.json +0 -3
  107. data/spec/fixtures/config/requests/admin/handles.json +0 -3
  108. data/spec/fixtures/config/requests/admin/log_level.json +0 -3
  109. data/spec/fixtures/config/requests/admin/sessions.json +0 -3
  110. data/spec/fixtures/config/requests/base/attach.json +0 -3
  111. data/spec/fixtures/config/requests/base/create.json +0 -4
  112. data/spec/fixtures/config/requests/base/destroy.json +0 -3
  113. data/spec/fixtures/config/requests/base/detach.json +0 -3
  114. data/spec/fixtures/config/requests/base/info.json +0 -3
  115. data/spec/fixtures/config/requests/base/keepalive.json +0 -3
  116. data/spec/fixtures/config/requests/peer/answer.json +0 -3
  117. data/spec/fixtures/config/requests/peer/offer.json +0 -3
  118. data/spec/fixtures/config/requests/peer/trickle.json +0 -3
@@ -1,7 +0,0 @@
1
- {
2
- "janus": "trickle",
3
- "session_id": "<number>",
4
- "handle_id": "<number>",
5
- "transaction": "<string>",
6
- "candidates": "<array>"
7
- }
@@ -1,101 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module RubyRabbitmqJanus
4
- module Tools
5
- module Replaces
6
- # Format message request with good data to HASH format
7
- # @author VAILLANT Jeremy <jeremy.vaillant@dazzl.tv>
8
- class Standard < Replace
9
- private
10
-
11
- # Replace classic elements
12
- def replace_classic
13
- super
14
- replace_handle if request.key?('handle_id')
15
- replace_candidates if request.key?('candidates')
16
- replace_candidate if request.key?('candidate')
17
- replace_sdp if request.key?('jsep')
18
- end
19
-
20
- # Replace handle integer
21
- def replace_handle
22
- request['handle_id'] = type.convert('handle_id', opts)
23
- rescue => message
24
- Tools::Log.instance.warn "Error handle replace : #{message}"
25
- end
26
-
27
- # Replace candidates
28
- def replace_candidates
29
- request['candidates'] = opts['replace']['candidates']
30
- rescue => message
31
- Tools::Log.instance.warn "Error candidate replace : #{message}"
32
- end
33
-
34
- # Replace candidate
35
- def replace_candidate
36
- request['candidate'] = opts['replace']['candidate']
37
- rescue => message
38
- Tools::Log.instance.warn "Error candidate replace : #{message}"
39
- end
40
-
41
- # Replace sdp in request
42
- def replace_sdp
43
- request['jsep']['sdp'] = opts['replace']['sdp']
44
- rescue => message
45
- Tools::Log.instance.warn "Error sdp replace : #{message}"
46
- end
47
-
48
- # Replace other element in request
49
- def replace_other
50
- values = opts['replace']
51
- running_hash(rewrite_key_to_string(values))
52
- rescue => message
53
- Tools::Log.instance.warn "Error REPLACE other field : #{message}"
54
- end
55
-
56
- # Adds other element to request
57
- def add_other
58
- values = opts['add']
59
- request['body'].merge!(values)
60
- rescue => message
61
- Tools::Log.instance.warn "Error ADD other field : #{message}"
62
- end
63
-
64
- # Rewrite key symbol to string
65
- def rewrite_key_to_string(node)
66
- Hash[
67
- node.map do |key, value|
68
- [key.to_s, value?(value)]
69
- end
70
- ]
71
- end
72
-
73
- # Test the value is an array
74
- def value?(value)
75
- value.is_a?(Hash) ? rewrite_key_to_string(value) : value
76
- end
77
-
78
- # Replace value in request Hash
79
- def running_hash(hash, parent = 'body')
80
- hash.each do |key, value|
81
- if value.is_a?(Hash)
82
- running_hash(value, new_parent(key, parent))
83
- else
84
- request[parent][key] = value unless key.eql? 'sdp'
85
- end
86
- end
87
- end
88
-
89
- # Return a key to hash parsing
90
- def new_parent(key, parent)
91
- "#{parent}#{'.' unless parent.empty?}#{key}"
92
- end
93
-
94
- # Test presence of key in many hash
95
- def test_presence?(presence_of_key)
96
- opts.key?(presence_of_key) && request.key?('body')
97
- end
98
- end
99
- end
100
- end
101
- end
@@ -1,3 +0,0 @@
1
- {
2
- "error": "Request is False !!"
3
- }
@@ -1,3 +0,0 @@
1
- {
2
- "error": "Request is False !!"
3
- }
@@ -1,3 +0,0 @@
1
- {
2
- "error": "Request is False !!"
3
- }
@@ -1,3 +0,0 @@
1
- {
2
- "error": "Request is False !!"
3
- }
@@ -1,3 +0,0 @@
1
- {
2
- "error": "Request is False !!"
3
- }
@@ -1,4 +0,0 @@
1
- {
2
- "janus": "create",
3
- "transaction": "<string>"
4
- }
@@ -1,3 +0,0 @@
1
- {
2
- "error": "Request is False !!"
3
- }
@@ -1,3 +0,0 @@
1
- {
2
- "error": "Request is False !!"
3
- }
@@ -1,3 +0,0 @@
1
- {
2
- "error": "Request is False !!"
3
- }
@@ -1,3 +0,0 @@
1
- {
2
- "error": "Request is False !!"
3
- }
@@ -1,3 +0,0 @@
1
- {
2
- "error": "Request is False !!"
3
- }
@@ -1,3 +0,0 @@
1
- {
2
- "error": "Request is False !!"
3
- }
@@ -1,3 +0,0 @@
1
- {
2
- "error": "Request is False !!"
3
- }