webrtc-rails 0.3.8 → 0.3.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/assets/javascripts/webrtc_rails/main.js.coffee +7 -4
- data/lib/webrtc_rails/daemon.rb +54 -54
- data/lib/webrtc_rails/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8805d636cb43da43f9396d8c87d1ed5167539918
|
4
|
+
data.tar.gz: d652c0c1d9b11e0eac2d3454745d658701155536
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d6739cbebb3671b268e321ffde2aa03ddb55f622b1f762589d8a3a96397883a9dd0ea705853a026e4d092d96b2977bd6bce834d2ac6e6ec12239c4c9badf047a
|
7
|
+
data.tar.gz: 4000cee35761f98ee2ee7592450f554787202534e824714a775c3b1a919d5729112a0bc8a8a280e94d19e92787bfd81b6f58cfb79002048c3f9c582ef1ca9acf
|
@@ -17,6 +17,7 @@ class @WebRTC
|
|
17
17
|
onWebRTCConnectFailed: (reason) ->
|
18
18
|
onServerMessage: (message) ->
|
19
19
|
onUserMessage: (sentUserIdentifier, event, message) ->
|
20
|
+
onSendUserMessageFailed: (sendUserIdentifier, event, message) ->
|
20
21
|
|
21
22
|
constructor: (url, userToken, localOutput, remoteOutput) ->
|
22
23
|
@localOutput = if localOutput? then (localOutput[0] || localOutput) else null
|
@@ -138,15 +139,17 @@ class @WebRTC
|
|
138
139
|
@_webSocket.onmessage = (data) =>
|
139
140
|
event = JSON.parse(data.data)
|
140
141
|
eventType = event['type']
|
141
|
-
if eventType == 'userMessage'
|
142
|
-
@onUserMessage(event['remoteUserIdentifier'], event['event'], event['message'])
|
143
|
-
return
|
144
142
|
|
145
|
-
|
143
|
+
dontNeedRemoteUserCheckType = ['userMessage', 'userMessageFailed', 'myUserIdentifier', 'call', 'webSocketReconnected']
|
144
|
+
if dontNeedRemoteUserCheckType.indexOf(eventType) == -1
|
146
145
|
if @remoteUserIdentifier != event['remoteUserIdentifier']
|
147
146
|
return
|
148
147
|
|
149
148
|
switch eventType
|
149
|
+
when 'userMessage'
|
150
|
+
@onUserMessage(event['remoteUserIdentifier'], event['event'], event['message'])
|
151
|
+
when 'userMessageFailed'
|
152
|
+
@onSendUserMessageFailed(event['remoteUserIdentifier'], event['event'], event['message'])
|
150
153
|
when 'myUserIdentifier'
|
151
154
|
@myUserIdentifier = event['myUserIdentifier']
|
152
155
|
if @_webSocketConnected
|
data/lib/webrtc_rails/daemon.rb
CHANGED
@@ -43,65 +43,64 @@ module WebrtcRails
|
|
43
43
|
my_user_identifier = nil
|
44
44
|
|
45
45
|
websocket.onclose do
|
46
|
-
if my_user_identifier.
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
end
|
51
|
-
end
|
46
|
+
next if my_user_identifier.blank?
|
47
|
+
next if @websockets[my_user_identifier].blank?
|
48
|
+
@websockets[my_user_identifier].delete(websocket)
|
49
|
+
@daemon_delegate.onWebSocketDisconnected(my_user_identifier)
|
52
50
|
end
|
53
51
|
|
54
52
|
websocket.onmessage do |message|
|
55
53
|
data = JSON.parse(message, {symbolize_names: true})
|
56
|
-
if data[:event]
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
reason: 0,
|
99
|
-
remoteUserIdentifier: user_identifier
|
100
|
-
}
|
101
|
-
websocket.send JSON.generate(message)
|
102
|
-
end
|
103
|
-
end
|
54
|
+
next if data[:event] == 'heartbeat'
|
55
|
+
token = data[:token]
|
56
|
+
next if token.blank?
|
57
|
+
user = @user_class.send(@fetch_user_by_token_method, token.to_s)
|
58
|
+
my_user_identifier = user ? user.send(@user_identifier).to_s : nil
|
59
|
+
next if my_user_identifier.blank?
|
60
|
+
|
61
|
+
case data[:event]
|
62
|
+
when 'userMessage'
|
63
|
+
user_identifier = data[:value][:userIdentifier]
|
64
|
+
event = data[:value][:event]
|
65
|
+
message = data[:value][:message]
|
66
|
+
if @daemon_delegate.onWantSendUserMessage(my_user_identifier, user_identifier, event, message)
|
67
|
+
message = {
|
68
|
+
type: 'userMessage',
|
69
|
+
remoteUserIdentifier: my_user_identifier,
|
70
|
+
event: event,
|
71
|
+
message: message
|
72
|
+
}
|
73
|
+
sendMessage(user_identifier, message) do
|
74
|
+
message[:type] = 'userMessageFailed'
|
75
|
+
sendMessage(my_user_identifier, message)
|
76
|
+
end
|
77
|
+
end
|
78
|
+
when 'setMyToken'
|
79
|
+
@websockets[my_user_identifier] ||= []
|
80
|
+
@websockets[my_user_identifier].push(websocket)
|
81
|
+
message = {
|
82
|
+
type: 'myUserIdentifier',
|
83
|
+
myUserIdentifier: my_user_identifier
|
84
|
+
}
|
85
|
+
@daemon_delegate.onWebSocketConnected(my_user_identifier)
|
86
|
+
websocket.send JSON.generate(message)
|
87
|
+
when 'sendMessage'
|
88
|
+
user_identifier = data[:value][:userIdentifier]
|
89
|
+
type = data[:value][:message][:type]
|
90
|
+
allow_types = %w/call hangUp offer answer candidate callFailed userMessage webSocketReconnected/
|
91
|
+
if @websockets.key?(user_identifier) && type.present? && allow_types.include?(type)
|
92
|
+
if type != 'call' || @daemon_delegate.onWantCall(my_user_identifier, user_identifier)
|
93
|
+
message = data[:value][:message]
|
94
|
+
message[:remoteUserIdentifier] = my_user_identifier
|
95
|
+
sendMessage(user_identifier, message)
|
104
96
|
end
|
97
|
+
else
|
98
|
+
message = {
|
99
|
+
type: 'callFailed',
|
100
|
+
reason: 0,
|
101
|
+
remoteUserIdentifier: user_identifier
|
102
|
+
}
|
103
|
+
websocket.send JSON.generate(message)
|
105
104
|
end
|
106
105
|
end
|
107
106
|
end
|
@@ -113,6 +112,7 @@ module WebrtcRails
|
|
113
112
|
|
114
113
|
def sendMessage(user_identifier, message)
|
115
114
|
unless @websockets.key?(user_identifier)
|
115
|
+
yield if block_given?
|
116
116
|
return
|
117
117
|
end
|
118
118
|
for ws in @websockets[user_identifier]
|
data/lib/webrtc_rails/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: webrtc-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Koji Murata
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-12-
|
11
|
+
date: 2015-12-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: em-websocket
|