add case for opening poll

This commit is contained in:
Erik 2015-12-02 12:16:35 -05:00
parent 57b252fa7d
commit 0acb7421cc

View File

@ -333,6 +333,7 @@ public final class SocketEngine: NSObject, SocketEngineSpec, WebSocketDelegate {
} }
} catch { } catch {
DefaultSocketLogger.Logger.error("Error parsing open packet", type: logType) DefaultSocketLogger.Logger.error("Error parsing open packet", type: logType)
client?.didError("Error parsing open packet")
return return
} }
@ -408,7 +409,7 @@ public final class SocketEngine: NSObject, SocketEngineSpec, WebSocketDelegate {
} }
} }
doLongPoll(reqPolling) doLongPoll(reqPolling, open: true)
} }
private func parseEngineData(data: NSData) { private func parseEngineData(data: NSData) {
@ -580,7 +581,7 @@ extension SocketEngine {
session?.dataTaskWithRequest(req, completionHandler: callback).resume() 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 doRequest(req) {[weak self] data, res, err in
guard let this = self else {return} guard let this = self else {return}
@ -598,7 +599,11 @@ extension SocketEngine {
if let str = NSString(data: data!, encoding: NSUTF8StringEncoding) as? String { if let str = NSString(data: data!, encoding: NSUTF8StringEncoding) as? String {
dispatch_async(this.parseQueue) {[weak this] in dispatch_async(this.parseQueue) {[weak this] in
this?.parsePollingMessage(str) if open {
this?.handleOpen(str)
} else {
this?.parsePollingMessage(str)
}
} }
} }