This commit is contained in:
Erik 2015-05-24 08:10:43 -04:00
parent 2fdd1313a8
commit fa0d5022cf
2 changed files with 11 additions and 14 deletions

View File

@ -24,12 +24,6 @@
import Foundation import Foundation
extension String {
private var length:Int {
return count(self)
}
}
public final class SocketEngine: NSObject, WebSocketDelegate, SocketLogClient { public final class SocketEngine: NSObject, WebSocketDelegate, SocketLogClient {
private typealias Probe = (msg:String, type:PacketType, data:ContiguousArray<NSData>?) private typealias Probe = (msg:String, type:PacketType, data:ContiguousArray<NSData>?)
private typealias ProbeWaitQueue = [Probe] private typealias ProbeWaitQueue = [Probe]
@ -438,7 +432,7 @@ public final class SocketEngine: NSObject, WebSocketDelegate, SocketLogClient {
// Translatation of engine.io-parser#decodePayload // Translatation of engine.io-parser#decodePayload
private func parsePollingMessage(str:String) { private func parsePollingMessage(str:String) {
if str.length == 1 { if count(str) == 1 {
return return
} }
@ -458,7 +452,7 @@ public final class SocketEngine: NSObject, WebSocketDelegate, SocketLogClient {
} }
} }
for var i = 0, l = str.length; i < l; i++ { for var i = 0, l = count(str); i < l; i++ {
let chr = String(strArray[i]) let chr = String(strArray[i])
if chr != ":" { if chr != ":" {
@ -474,13 +468,13 @@ public final class SocketEngine: NSObject, WebSocketDelegate, SocketLogClient {
msg = String(strArray[i+1...i+n]) msg = String(strArray[i+1...i+n])
if let lengthInt = length.toInt() { if let lengthInt = length.toInt() {
if lengthInt != msg.length { if lengthInt != count(msg) {
SocketLogger.err("parsing error: \(str)", client: self) SocketLogger.err("parsing error: \(str)", client: self)
return return
} }
} }
if msg.length != 0 { if count(msg) != 0 {
// Be sure to capture the value of the msg // Be sure to capture the value of the msg
dispatch_async(handleQueue) {[weak self, msg] in dispatch_async(handleQueue) {[weak self, msg] in
self?.parseEngineMessage(msg, fromPolling: true) self?.parseEngineMessage(msg, fromPolling: true)
@ -515,8 +509,8 @@ public final class SocketEngine: NSObject, WebSocketDelegate, SocketLogClient {
message.removeAtIndex(message.startIndex) message.removeAtIndex(message.startIndex)
if let client = client { if let client = client {
dispatch_async(client.handleQueue) {[weak self] in dispatch_async(client.handleQueue) {[weak client] in
self?.client?.parseSocketMessage(message) client?.parseSocketMessage(message)
} }
} }
} else if type == PacketType.NOOP { } else if type == PacketType.NOOP {

View File

@ -172,8 +172,11 @@ final class SocketPacket: Printable {
let jsonString = NSString(data: jsonSend!, encoding: NSUTF8StringEncoding) let jsonString = NSString(data: jsonSend!, encoding: NSUTF8StringEncoding)
message += jsonString! as String + "," message += jsonString! as String + ","
} else if arg is String { } else if var str = arg as? String {
message += "\"\(arg)\"," str = str["\n"] ~= "\\\\n"
str = str["\r"] ~= "\\\\r"
message += "\"\(str)\","
} else if arg is NSNull { } else if arg is NSNull {
message += "null," message += "null,"
} else { } else {