ruby_rabbitmq_janus 1.2.9 → 2.0.0.pre.42
Sign up to get free protection for your applications and to get access to all the features.
- 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
|