@@ -220,9 +220,6 @@ class SocketParser {
220
220
return
221
221
}
222
222
223
- /**
224
- Begin check for message
225
- **/
226
223
var messageGroups : [ String ] ?
227
224
228
225
let type = stringMessage. removeAtIndex ( stringMessage. startIndex)
@@ -231,7 +228,7 @@ class SocketParser {
231
228
if let groups = stringMessage [ " ( \\ d*) \\ /?( \\ w*)?,?( \\ d*)? \\ [ \" (.*?) \" ,?(.*?)? \\ ]$ " ,
232
229
NSRegularExpressionOptions . DotMatchesLineSeparators] . groups ( ) {
233
230
messageGroups = groups
234
-
231
+
235
232
var mesNum = messageGroups![ 1 ]
236
233
var ackNum : String
237
234
var namespace : String ?
@@ -264,10 +261,7 @@ class SocketParser {
264
261
socket. handleEvent ( event, data: parsed, isInternalMessage: false ,
265
262
wantsAck: ackNum. toInt ( ) , withAckType: 3 )
266
263
}
267
-
268
- return
269
264
}
270
-
271
265
}
272
266
} else if type == " 3 " {
273
267
if let ackGroup = stringMessage [ " ( \\ d*) \\ /?( \\ w*)?,?( \\ d*)? \\ [(.*?)? \\ ]$ " ,
@@ -290,13 +284,11 @@ class SocketParser {
290
284
291
285
let ackData : AnyObject ? = self . parseData ( " [ \( messageGroups![ 4 ] ) ] " )
292
286
socket. handleAck ( ackNum. toInt ( ) !, data: ackData)
293
-
294
- return
295
287
}
288
+ } else {
289
+ NSLog ( " Error in parsing message: %s " , stringMessage)
290
+ return
296
291
}
297
- /**
298
- End Check for message
299
- **/
300
292
}
301
293
302
294
// Handles binary data
@@ -352,94 +344,87 @@ class SocketParser {
352
344
}
353
345
354
346
// Tries to parse a message that contains binary
355
- class func parseBinaryMessage( message: String , socket: SocketIOClient ) {
347
+ class func parseBinaryMessage( var message: String , socket: SocketIOClient ) {
356
348
// NSLog(message)
357
349
358
- /**
359
- Begin check for binary placeholders
360
- **/
361
350
var binaryGroup : [ String ] ?
362
351
363
- if let groups = message [ " ^( \\ d*)- \\ /?( \\ w*)?,?( \\ d*)? \\ [( \" .*? \" )?,?(.*)? \\ ]$ " ,
364
- NSRegularExpressionOptions . DotMatchesLineSeparators] . groups ( ) {
365
- binaryGroup = groups
366
- } else if let groups = message [ " ^( \\ d*)- \\ /?( \\ w*)?,?( \\ d*)? \\ [(.*?)? \\ ]$ " ,
367
- NSRegularExpressionOptions . DotMatchesLineSeparators] . groups ( ) {
368
- binaryGroup = groups
369
- } else {
370
- NSLog ( " Error in parsing binary message: %s " , message)
371
- return
372
- }
352
+ let type = message. removeAtIndex ( message. startIndex)
373
353
374
- if binaryGroup![ 1 ] . hasPrefix ( " 5 " ) {
375
- // println(binaryGroup)
376
- var ackNum : String
377
- var event : String
378
- var mutMessageObject : String
379
- var namespace : String ?
380
- var numberOfPlaceholders : String
381
-
382
- let messageType = binaryGroup![ 1 ]
383
-
384
- namespace = binaryGroup![ 2 ]
385
- if binaryGroup![ 3 ] != " " {
386
- ackNum = binaryGroup![ 3 ] as String
387
- } else if socket. nsp == nil && binaryGroup![ 2 ] != " " {
388
- ackNum = binaryGroup![ 2 ]
389
- } else {
390
- ackNum = " "
391
- }
392
-
393
- numberOfPlaceholders = ( messageType [ " 5 " ] ~= " " ) as String
394
- event = ( binaryGroup![ 4 ] [ " \" " ] ~= " " ) as String
395
- mutMessageObject = binaryGroup![ 5 ]
396
-
397
- if namespace == " " && socket. nsp != nil {
398
- return
399
- }
400
-
401
- let placeholdersRemoved = mutMessageObject [ " ( \\ { \" _placeholder \" :true, \" num \" :( \\ d*) \\ }) " ]
402
- ~= " \" ~~$2 \" "
403
-
404
- var mes : SocketEvent
405
- if ackNum == " " {
406
- mes = SocketEvent ( event: event, args: placeholdersRemoved,
407
- placeholders: numberOfPlaceholders. toInt ( ) !)
408
- } else {
409
- socket. currentAck = ackNum. toInt ( ) !
410
- mes = SocketEvent ( event: event, args: placeholdersRemoved,
411
- placeholders: numberOfPlaceholders. toInt ( ) !, ackNum: ackNum. toInt ( ) )
412
- }
413
-
414
- socket. waitingData. append ( mes)
415
- } else if binaryGroup![ 1 ] . hasPrefix ( " 6 " ) {
416
- let messageType = binaryGroup![ 1 ]
417
- let numberOfPlaceholders = ( messageType [ " 6 " ] ~= " " ) as String
418
- var ackNum : String
419
- var nsp : String
420
-
421
- if binaryGroup![ 3 ] == " " {
422
- ackNum = binaryGroup![ 2 ]
423
- nsp = " "
424
- } else {
425
- ackNum = binaryGroup![ 3 ]
426
- nsp = binaryGroup![ 2 ]
354
+ if type == " 5 " {
355
+ if let groups = message [ " ^( \\ d*)- \\ /?( \\ w*)?,?( \\ d*)? \\ [( \" .*? \" )?,?(.*)? \\ ]$ " ,
356
+ NSRegularExpressionOptions . DotMatchesLineSeparators] . groups ( ) {
357
+ binaryGroup = groups
358
+
359
+ var ackNum : String
360
+ var event : String
361
+ var mutMessageObject : String
362
+ var namespace : String ?
363
+ let numberOfPlaceholders = binaryGroup![ 1 ]
364
+
365
+ namespace = binaryGroup![ 2 ]
366
+ if binaryGroup![ 3 ] != " " {
367
+ ackNum = binaryGroup![ 3 ] as String
368
+ } else if socket. nsp == nil && binaryGroup![ 2 ] != " " {
369
+ ackNum = binaryGroup![ 2 ]
370
+ } else {
371
+ ackNum = " "
372
+ }
373
+
374
+ event = ( binaryGroup![ 4 ] [ " \" " ] ~= " " ) as String
375
+ mutMessageObject = binaryGroup![ 5 ]
376
+
377
+ if namespace == " " && socket. nsp != nil {
378
+ return
379
+ }
380
+
381
+ let placeholdersRemoved = mutMessageObject [ " ( \\ { \" _placeholder \" :true, \" num \" :( \\ d*) \\ }) " ]
382
+ ~= " \" ~~$2 \" "
383
+
384
+ var mes : SocketEvent
385
+ if ackNum == " " {
386
+ mes = SocketEvent ( event: event, args: placeholdersRemoved,
387
+ placeholders: numberOfPlaceholders. toInt ( ) !)
388
+ } else {
389
+ socket. currentAck = ackNum. toInt ( ) !
390
+ mes = SocketEvent ( event: event, args: placeholdersRemoved,
391
+ placeholders: numberOfPlaceholders. toInt ( ) !, ackNum: ackNum. toInt ( ) )
392
+ }
393
+
394
+ socket. waitingData. append ( mes)
427
395
}
428
-
429
- if nsp == " " && socket. nsp != nil {
430
- return
396
+ } else if type == " 6 " {
397
+ if let groups = message [ " ^( \\ d*)- \\ /?( \\ w*)?,?( \\ d*)? \\ [(.*?)? \\ ]$ " ,
398
+ NSRegularExpressionOptions . DotMatchesLineSeparators] . groups ( ) {
399
+ binaryGroup = groups
400
+
401
+ let numberOfPlaceholders = binaryGroup![ 1 ]
402
+ var ackNum : String
403
+ var nsp : String
404
+
405
+ if binaryGroup![ 3 ] == " " {
406
+ ackNum = binaryGroup![ 2 ]
407
+ nsp = " "
408
+ } else {
409
+ ackNum = binaryGroup![ 3 ]
410
+ nsp = binaryGroup![ 2 ]
411
+ }
412
+
413
+ if nsp == " " && socket. nsp != nil {
414
+ return
415
+ }
416
+ var mutMessageObject = binaryGroup![ 5 ]
417
+ let placeholdersRemoved = mutMessageObject [ " ( \\ { \" _placeholder \" :true, \" num \" :( \\ d*) \\ }) " ]
418
+ ~= " \" ~~$2 \" "
419
+
420
+ let event = SocketEvent ( event: " " , args: placeholdersRemoved,
421
+ placeholders: numberOfPlaceholders. toInt ( ) !, ackNum: ackNum. toInt ( ) , justAck: true )
422
+
423
+ socket. waitingData. append ( event)
431
424
}
432
- var mutMessageObject = binaryGroup![ 5 ]
433
- let placeholdersRemoved = mutMessageObject [ " ( \\ { \" _placeholder \" :true, \" num \" :( \\ d*) \\ }) " ]
434
- ~= " \" ~~$2 \" "
435
-
436
- let event = SocketEvent ( event: " " , args: placeholdersRemoved,
437
- placeholders: numberOfPlaceholders. toInt ( ) !, ackNum: ackNum. toInt ( ) , justAck: true )
438
-
439
- socket. waitingData. append ( event)
425
+ } else {
426
+ NSLog ( " Error in parsing binary message: %s " , message)
427
+ return
440
428
}
441
- /**
442
- End check for binary placeholders
443
- **/
444
429
}
445
430
}
0 commit comments