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.
- checksums.yaml +4 -4
- data/Gemfile +2 -0
- data/README.md +145 -32
- data/config/default.yml +2 -0
- data/config/requests.md +2 -1
- data/config/requests/admin/add_token.json +6 -0
- data/config/requests/admin/allow_token.json +6 -0
- data/config/requests/admin/disallow_token.json +6 -0
- data/config/requests/admin/handle_info.json +1 -1
- data/config/requests/admin/handles.json +1 -1
- data/config/requests/admin/remove_token.json +6 -0
- data/config/requests/admin/sessions.json +1 -1
- data/config/requests/admin/set_locking_debug.json +6 -0
- data/config/requests/admin/{log_level.json → set_log_level.json} +1 -1
- data/config/requests/admin/tokens.json +5 -0
- data/config/requests/base/attach.json +1 -1
- data/config/requests/base/create.json +1 -1
- data/config/requests/base/destroy.json +1 -1
- data/config/requests/base/detach.json +1 -1
- data/config/requests/base/info.json +1 -1
- data/config/requests/base/keepalive.json +1 -1
- data/config/requests/peer/answer.json +1 -1
- data/config/requests/peer/offer.json +1 -1
- data/config/requests/peer/trickle.json +1 -1
- data/lib/generators/ruby_rabbitmq_janus/initializer_generator.rb +3 -0
- data/lib/rrj/admin.rb +34 -0
- data/lib/rrj/errors/error.rb +2 -1
- data/lib/rrj/errors/init.rb +6 -0
- data/lib/rrj/errors/janus/janus.rb +1 -0
- data/lib/rrj/errors/janus/janus_message.rb +8 -4
- data/lib/rrj/errors/janus/janus_processus_keepalive.rb +1 -0
- data/lib/rrj/errors/janus/janus_response.rb +27 -6
- data/lib/rrj/errors/janus/janus_transaction.rb +4 -0
- data/lib/rrj/errors/rabbit/rabbit.rb +3 -1
- data/lib/rrj/errors/tools/config.rb +1 -0
- data/lib/rrj/info.rb +1 -1
- data/lib/rrj/init.rb +37 -169
- data/lib/rrj/janus/messages/admin.rb +1 -2
- data/lib/rrj/janus/messages/message.rb +4 -4
- data/lib/rrj/janus/messages/standard.rb +3 -5
- data/lib/rrj/janus/processus/concurrency.rb +1 -1
- data/lib/rrj/janus/processus/keepalive.rb +10 -4
- data/lib/rrj/janus/responses/admin.rb +31 -0
- data/lib/rrj/janus/responses/event.rb +23 -5
- data/lib/rrj/janus/responses/response.rb +2 -0
- data/lib/rrj/janus/responses/standard.rb +26 -5
- data/lib/rrj/janus/transactions/admin.rb +22 -26
- data/lib/rrj/janus/transactions/handle.rb +13 -8
- data/lib/rrj/janus/transactions/session.rb +25 -7
- data/lib/rrj/janus/transactions/transaction.rb +2 -1
- data/lib/rrj/rabbit/connect.rb +2 -3
- data/lib/rrj/rabbit/publish/admin.rb +1 -6
- data/lib/rrj/rabbit/publish/base_publisher.rb +6 -11
- data/lib/rrj/rabbit/publish/exclusive.rb +1 -0
- data/lib/rrj/rabbit/publish/listener.rb +10 -27
- data/lib/rrj/rabbit/publish/non_exclusive.rb +2 -6
- data/lib/rrj/rabbit/publish/publisher.rb +4 -17
- data/lib/rrj/tools/{config.rb → gem/config.rb} +5 -5
- data/lib/rrj/tools/{log.rb → gem/log.rb} +21 -6
- data/lib/rrj/tools/gem/option.rb +57 -0
- data/lib/rrj/tools/{requests.rb → gem/requests.rb} +0 -0
- data/lib/rrj/tools/replaces/admin.rb +7 -13
- data/lib/rrj/tools/replaces/handle.rb +61 -0
- data/lib/rrj/tools/replaces/replace.rb +57 -27
- data/lib/rrj/tools/replaces/session.rb +34 -0
- data/lib/rrj/tools/replaces/type.rb +63 -11
- data/lib/rrj/tools/tools.rb +4 -3
- data/lib/ruby_rabbitmq_janus.rb +1 -0
- data/spec/request/admin/request_handle_info_spec.rb +13 -7
- data/spec/request/admin/request_handles_spec.rb +20 -0
- data/spec/request/admin/request_sessions_spec.rb +5 -4
- data/spec/request/admin/request_set_locking_debug_spec.rb +16 -0
- data/spec/request/admin/request_set_log_level_spec.rb +16 -0
- data/spec/request/admin/request_tokens_spec.rb +13 -0
- data/spec/request/base/request_attach_spec.rb +6 -9
- data/spec/request/base/request_create_spec.rb +5 -3
- data/spec/request/base/request_destroy_spec.rb +5 -3
- data/spec/request/base/request_detach_spec.rb +6 -7
- data/spec/request/base/request_info_spec.rb +5 -3
- data/spec/request/base/request_keepalive_spec.rb +5 -3
- data/spec/request/peer/request_offer_spec.rb +18 -92
- data/spec/request/peer/request_trickle_spec.rb +9 -28
- data/spec/request/peer/request_trickles_spec.rb +23 -0
- data/spec/rrj/responses/responses_admin_spec.rb +39 -0
- data/spec/rrj/responses/responses_event_spec.rb +25 -0
- data/spec/rrj/responses/responses_response_spec.rb +31 -0
- data/spec/rrj/responses/responses_standard_spec.rb +43 -0
- data/spec/rrj/rrj_config_spec.rb +7 -7
- data/spec/rrj/rrj_rabbitmq_spec.rb +1 -1
- data/spec/rrj/tools/replace_admin_spec.rb +86 -0
- data/spec/rrj/tools/replace_handle_spec.rb +78 -0
- data/spec/rrj/tools/replace_session_spec.rb +66 -0
- data/spec/rrj/tools/replace_spec.rb +69 -0
- data/spec/rrj/tools/type_spec.rb +150 -0
- data/spec/spec_helper.rb +46 -7
- data/spec/support/examples_request.rb +33 -61
- data/spec/support/examples_response.rb +30 -0
- data/spec/support/schemas/request/admin/handles.json +15 -0
- data/spec/support/schemas/request/admin/set_locking_debug.json +13 -0
- data/spec/support/schemas/request/admin/set_log_level.json +11 -0
- data/spec/support/schemas/request/admin/tokens.json +13 -0
- data/spec/support/type.rb +66 -0
- metadata +41 -69
- data/config/requests/peer/trickles.json +0 -7
- data/lib/rrj/tools/replaces/standard.rb +0 -101
- data/spec/fixtures/config/requests/admin/handle_info.json +0 -3
- data/spec/fixtures/config/requests/admin/handles.json +0 -3
- data/spec/fixtures/config/requests/admin/log_level.json +0 -3
- data/spec/fixtures/config/requests/admin/sessions.json +0 -3
- data/spec/fixtures/config/requests/base/attach.json +0 -3
- data/spec/fixtures/config/requests/base/create.json +0 -4
- data/spec/fixtures/config/requests/base/destroy.json +0 -3
- data/spec/fixtures/config/requests/base/detach.json +0 -3
- data/spec/fixtures/config/requests/base/info.json +0 -3
- data/spec/fixtures/config/requests/base/keepalive.json +0 -3
- data/spec/fixtures/config/requests/peer/answer.json +0 -3
- data/spec/fixtures/config/requests/peer/offer.json +0 -3
- data/spec/fixtures/config/requests/peer/trickle.json +0 -3
@@ -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
|