From 0acb7421cc0fca88f223851a5e68ce3e072c6285 Mon Sep 17 00:00:00 2001 From: Erik Date: Wed, 2 Dec 2015 12:16:35 -0500 Subject: [PATCH] add case for opening poll --- SocketIOClientSwift/SocketEngine.swift | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/SocketIOClientSwift/SocketEngine.swift b/SocketIOClientSwift/SocketEngine.swift index 91d3143..a623d1e 100644 --- a/SocketIOClientSwift/SocketEngine.swift +++ b/SocketIOClientSwift/SocketEngine.swift @@ -333,6 +333,7 @@ public final class SocketEngine: NSObject, SocketEngineSpec, WebSocketDelegate { } } catch { DefaultSocketLogger.Logger.error("Error parsing open packet", type: logType) + client?.didError("Error parsing open packet") return } @@ -408,7 +409,7 @@ public final class SocketEngine: NSObject, SocketEngineSpec, WebSocketDelegate { } } - doLongPoll(reqPolling) + doLongPoll(reqPolling, open: true) } private func parseEngineData(data: NSData) { @@ -580,7 +581,7 @@ extension SocketEngine { session?.dataTaskWithRequest(req, completionHandler: callback).resume() } - private func doLongPoll(req: NSMutableURLRequest) { + private func doLongPoll(req: NSMutableURLRequest, open: Bool = false) { doRequest(req) {[weak self] data, res, err in guard let this = self else {return} @@ -598,7 +599,11 @@ extension SocketEngine { if let str = NSString(data: data!, encoding: NSUTF8StringEncoding) as? String { dispatch_async(this.parseQueue) {[weak this] in - this?.parsePollingMessage(str) + if open { + this?.handleOpen(str) + } else { + this?.parsePollingMessage(str) + } } }