@@ -21,8 +21,7 @@ def execute(recording_id)
21
21
notify ( callback_url , meeting_id , recording . record_id , tenant_name ) if callback_url
22
22
end
23
23
24
- def encoded_payload ( meeting_id , record_id , tenant_name )
25
- secret = fetch_secrets ( tenant_name : tenant_name ) [ 0 ]
24
+ def encoded_payload ( meeting_id , record_id , secret )
26
25
payload = { meeting_id : meeting_id , record_id : record_id }
27
26
JWT . encode ( payload , secret )
28
27
end
@@ -31,27 +30,38 @@ def notify(callback_url, meeting_id, record_id, tenant_name)
31
30
logger . info ( "Recording Ready Notify for [#{ meeting_id } ] starts" )
32
31
logger . info ( 'Making callback for recording ready notification' )
33
32
34
- payload = encoded_payload ( meeting_id , record_id , tenant_name )
35
- uri = URI . parse ( callback_url )
36
- http = Net ::HTTP . new ( uri . host , uri . port )
37
- http . use_ssl = ( uri . scheme == 'https' )
38
- logger . info ( "Sending request to #{ uri . scheme } ://#{ uri . host } #{ uri . request_uri } " )
39
- request = Net ::HTTP ::Post . new ( uri . request_uri )
40
- request . set_form_data ( signed_parameters : payload )
33
+ secrets = fetch_secrets ( tenant_name : tenant_name )
34
+ success = false
41
35
42
- response = http . request ( request )
43
- code = response . code . to_i
36
+ secrets . each do | secret |
37
+ payload = encoded_payload ( meeting_id , record_id , secret )
44
38
45
- if code == 410
46
- logger . info ( "Notified for deleted meeting: #{ meeting_id } " )
47
- elsif code == 404
48
- logger . info ( "404 error when notifying for recording: #{ meeting_id } , ignoring" )
49
- elsif code < 200 || code >= 300
50
- logger . info ( "Callback HTTP request failed: #{ response . code } #{ response . message } (code #{ code } )" )
51
- else
52
- logger . info ( "Recording notifier successful: #{ meeting_id } (code #{ code } )" )
39
+ uri = URI . parse ( callback_url )
40
+ http = Net ::HTTP . new ( uri . host , uri . port )
41
+ http . use_ssl = ( uri . scheme == 'https' )
42
+ logger . info ( "Sending request to #{ uri . scheme } ://#{ uri . host } #{ uri . request_uri } " )
43
+ request = Net ::HTTP ::Post . new ( uri . request_uri )
44
+ request . set_form_data ( signed_parameters : payload )
45
+
46
+ response = http . request ( request )
47
+ code = response . code . to_i
48
+
49
+ if code == 410
50
+ logger . info ( "Notified for deleted meeting: #{ meeting_id } " )
51
+ break
52
+ elsif code == 404
53
+ logger . info ( "404 error when notifying for recording: #{ meeting_id } , ignoring" )
54
+ break
55
+ elsif code < 200 || code >= 300
56
+ logger . info ( "Callback HTTP request failed: #{ response . code } #{ response . message } (code #{ code } )" )
57
+ else
58
+ logger . info ( "Recording notifier successful: #{ meeting_id } (code #{ code } )" )
59
+ success = true
60
+ break
61
+ end
53
62
end
54
- true
63
+
64
+ success
55
65
rescue StandardError => e
56
66
logger . info ( 'Rescued' )
57
67
logger . info ( e . to_s )
0 commit comments