@@ -100,33 +100,13 @@ var SCSocket = function (id, server, socket) {
100
100
var emptyMessageError = new InvalidMessageError ( 'Received an empty message' ) ;
101
101
Emitter . prototype . emit . call ( self , 'error' , emptyMessageError ) ;
102
102
103
- } else if ( obj . event ) {
104
- var eventName = obj . event ;
105
-
106
- if ( self . _localEvents [ eventName ] == null ) {
107
- var response = new Response ( self , obj . cid ) ;
108
- self . server . verifyInboundEvent ( self , eventName , obj . data , function ( err , newEventData , ackData ) {
109
- if ( err ) {
110
- response . error ( err , ackData ) ;
111
- } else {
112
- if ( eventName == '#disconnect' ) {
113
- var disconnectData = newEventData || { } ;
114
- self . _onSCClose ( disconnectData . code , disconnectData . data ) ;
115
- } else {
116
- if ( self . _autoAckEvents [ eventName ] ) {
117
- if ( ackData !== undefined ) {
118
- response . end ( ackData ) ;
119
- } else {
120
- response . end ( ) ;
121
- }
122
- Emitter . prototype . emit . call ( self , eventName , newEventData ) ;
123
- } else {
124
- Emitter . prototype . emit . call ( self , eventName , newEventData , response . callback . bind ( response ) ) ;
125
- }
126
- }
127
- }
128
- } ) ;
103
+ } else if ( Array . isArray ( obj ) ) {
104
+ var len = obj . length ;
105
+ for ( var i = 0 ; i < len ; i ++ ) {
106
+ self . _handleEventObject ( obj [ i ] ) ;
129
107
}
108
+ } else if ( obj . event ) {
109
+ self . _handleEventObject ( obj ) ;
130
110
} else if ( obj . rid != null ) {
131
111
// If incoming message is a response to a previously sent message
132
112
var ret = self . _callbackMap [ obj . rid ] ;
@@ -162,6 +142,37 @@ SCSocket.prototype._sendPing = function () {
162
142
}
163
143
} ;
164
144
145
+ SCSocket . prototype . _handleEventObject = function ( obj ) {
146
+ var self = this ;
147
+
148
+ var eventName = obj . event ;
149
+
150
+ if ( self . _localEvents [ eventName ] == null ) {
151
+ var response = new Response ( self , obj . cid ) ;
152
+ self . server . verifyInboundEvent ( self , eventName , obj . data , function ( err , newEventData , ackData ) {
153
+ if ( err ) {
154
+ response . error ( err , ackData ) ;
155
+ } else {
156
+ if ( eventName == '#disconnect' ) {
157
+ var disconnectData = newEventData || { } ;
158
+ self . _onSCClose ( disconnectData . code , disconnectData . data ) ;
159
+ } else {
160
+ if ( self . _autoAckEvents [ eventName ] ) {
161
+ if ( ackData !== undefined ) {
162
+ response . end ( ackData ) ;
163
+ } else {
164
+ response . end ( ) ;
165
+ }
166
+ Emitter . prototype . emit . call ( self , eventName , newEventData ) ;
167
+ } else {
168
+ Emitter . prototype . emit . call ( self , eventName , newEventData , response . callback . bind ( response ) ) ;
169
+ }
170
+ }
171
+ }
172
+ } ) ;
173
+ }
174
+ } ;
175
+
165
176
SCSocket . prototype . _resetPongTimeout = function ( ) {
166
177
var self = this ;
167
178
0 commit comments