diff --git a/SocketIOClientSwift/SocketEngine.swift b/SocketIOClientSwift/SocketEngine.swift index ec9ec07..6f946de 100644 --- a/SocketIOClientSwift/SocketEngine.swift +++ b/SocketIOClientSwift/SocketEngine.swift @@ -530,14 +530,15 @@ public final class SocketEngine: NSObject, WebSocketDelegate { private func parseEngineMessage(var message: String, fromPolling: Bool) { Logger.log("Got message: %@", type: logType, args: message) - if fromPolling { - fixDoubleUTF8(&message) - } - let type = PacketType(str: (message["^(\\d)"].groups()?[1]) ?? "") ?? { self.checkIfMessageIsBase64Binary(message) return .Noop }() + + + if fromPolling && type != .Noop { + fixDoubleUTF8(&message) + } switch type { case PacketType.Message: diff --git a/SocketIOClientSwift/SocketFixUTF8.swift b/SocketIOClientSwift/SocketFixUTF8.swift index 0cffd86..e20f5c6 100644 --- a/SocketIOClientSwift/SocketFixUTF8.swift +++ b/SocketIOClientSwift/SocketFixUTF8.swift @@ -26,6 +26,7 @@ import Foundation func fixDoubleUTF8(inout name: String) { + print(name) let utf8 = name.dataUsingEncoding(NSISOLatin1StringEncoding)! let latin1 = NSString(data: utf8, encoding: NSUTF8StringEncoding)! name = latin1 as String diff --git a/SocketIOClientSwift/SocketPacket.swift b/SocketIOClientSwift/SocketPacket.swift index 5608d7d..8f0ff2e 100644 --- a/SocketIOClientSwift/SocketPacket.swift +++ b/SocketIOClientSwift/SocketPacket.swift @@ -116,7 +116,7 @@ struct SocketPacket { message += jsonString! as String + "," } catch { - Logger.error("Error creating JSON object in SocketPacket.completeMessage", type: SocketPacket.logType) + Logger.error("Error creating JSON object in SocketPacket.completeMessage", type: SocketPacket.logType) } } else if var str = arg as? String { str = str["\n"] ~= "\\\\n"