Skip to content

Commit fa0d502

Browse files
committed
fix #85
1 parent 2fdd131 commit fa0d502

File tree

2 files changed

+11
-14
lines changed

2 files changed

+11
-14
lines changed

SocketIOClientSwift/SocketEngine.swift

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,6 @@
2424

2525
import Foundation
2626

27-
extension String {
28-
private var length:Int {
29-
return count(self)
30-
}
31-
}
32-
3327
public final class SocketEngine: NSObject, WebSocketDelegate, SocketLogClient {
3428
private typealias Probe = (msg:String, type:PacketType, data:ContiguousArray<NSData>?)
3529
private typealias ProbeWaitQueue = [Probe]
@@ -438,7 +432,7 @@ public final class SocketEngine: NSObject, WebSocketDelegate, SocketLogClient {
438432

439433
// Translatation of engine.io-parser#decodePayload
440434
private func parsePollingMessage(str:String) {
441-
if str.length == 1 {
435+
if count(str) == 1 {
442436
return
443437
}
444438

@@ -458,7 +452,7 @@ public final class SocketEngine: NSObject, WebSocketDelegate, SocketLogClient {
458452
}
459453
}
460454

461-
for var i = 0, l = str.length; i < l; i++ {
455+
for var i = 0, l = count(str); i < l; i++ {
462456
let chr = String(strArray[i])
463457

464458
if chr != ":" {
@@ -474,13 +468,13 @@ public final class SocketEngine: NSObject, WebSocketDelegate, SocketLogClient {
474468
msg = String(strArray[i+1...i+n])
475469

476470
if let lengthInt = length.toInt() {
477-
if lengthInt != msg.length {
471+
if lengthInt != count(msg) {
478472
SocketLogger.err("parsing error: \(str)", client: self)
479473
return
480474
}
481475
}
482476

483-
if msg.length != 0 {
477+
if count(msg) != 0 {
484478
// Be sure to capture the value of the msg
485479
dispatch_async(handleQueue) {[weak self, msg] in
486480
self?.parseEngineMessage(msg, fromPolling: true)
@@ -515,8 +509,8 @@ public final class SocketEngine: NSObject, WebSocketDelegate, SocketLogClient {
515509
message.removeAtIndex(message.startIndex)
516510

517511
if let client = client {
518-
dispatch_async(client.handleQueue) {[weak self] in
519-
self?.client?.parseSocketMessage(message)
512+
dispatch_async(client.handleQueue) {[weak client] in
513+
client?.parseSocketMessage(message)
520514
}
521515
}
522516
} else if type == PacketType.NOOP {

SocketIOClientSwift/SocketPacket.swift

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -172,8 +172,11 @@ final class SocketPacket: Printable {
172172
let jsonString = NSString(data: jsonSend!, encoding: NSUTF8StringEncoding)
173173

174174
message += jsonString! as String + ","
175-
} else if arg is String {
176-
message += "\"\(arg)\","
175+
} else if var str = arg as? String {
176+
str = str["\n"] ~= "\\\\n"
177+
str = str["\r"] ~= "\\\\r"
178+
179+
message += "\"\(str)\","
177180
} else if arg is NSNull {
178181
message += "null,"
179182
} else {

0 commit comments

Comments
 (0)