@@ -220,9 +220,6 @@ class SocketParser {
220220 return
221221 }
222222
223- /**
224- Begin check for message
225- **/
226223 var messageGroups : [ String ] ?
227224
228225 let type = stringMessage. removeAtIndex ( stringMessage. startIndex)
@@ -231,7 +228,7 @@ class SocketParser {
231228 if let groups = stringMessage [ " ( \\ d*) \\ /?( \\ w*)?,?( \\ d*)? \\ [ \" (.*?) \" ,?(.*?)? \\ ]$ " ,
232229 NSRegularExpressionOptions . DotMatchesLineSeparators] . groups ( ) {
233230 messageGroups = groups
234-
231+
235232 var mesNum = messageGroups![ 1 ]
236233 var ackNum : String
237234 var namespace : String ?
@@ -264,10 +261,7 @@ class SocketParser {
264261 socket. handleEvent ( event, data: parsed, isInternalMessage: false ,
265262 wantsAck: ackNum. toInt ( ) , withAckType: 3 )
266263 }
267-
268- return
269264 }
270-
271265 }
272266 } else if type == " 3 " {
273267 if let ackGroup = stringMessage [ " ( \\ d*) \\ /?( \\ w*)?,?( \\ d*)? \\ [(.*?)? \\ ]$ " ,
@@ -290,13 +284,11 @@ class SocketParser {
290284
291285 let ackData : AnyObject ? = self . parseData ( " [ \( messageGroups![ 4 ] ) ] " )
292286 socket. handleAck ( ackNum. toInt ( ) !, data: ackData)
293-
294- return
295287 }
288+ } else {
289+ NSLog ( " Error in parsing message: %s " , stringMessage)
290+ return
296291 }
297- /**
298- End Check for message
299- **/
300292 }
301293
302294 // Handles binary data
@@ -352,94 +344,87 @@ class SocketParser {
352344 }
353345
354346 // 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 ) {
356348 // NSLog(message)
357349
358- /**
359- Begin check for binary placeholders
360- **/
361350 var binaryGroup : [ String ] ?
362351
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)
373353
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)
427395 }
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)
431424 }
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
440428 }
441- /**
442- End check for binary placeholders
443- **/
444429 }
445430}
0 commit comments