From 93f1cfe9dcb8e21f4e8a694077978fd4478075be Mon Sep 17 00:00:00 2001 From: Erik Date: Sat, 28 Mar 2015 16:54:48 -0400 Subject: [PATCH] fix socketio/socket.io-client-swift#36 --- SwiftIO/SocketEngine.swift | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/SwiftIO/SocketEngine.swift b/SwiftIO/SocketEngine.swift index ee9bcdf..ecb7e39 100644 --- a/SwiftIO/SocketEngine.swift +++ b/SwiftIO/SocketEngine.swift @@ -164,7 +164,7 @@ public class SocketEngine: NSObject, WebSocketDelegate { self.ws = WebSocket(url: NSURL(string: self.urlWebSocket! + "&sid=\(self.sid)")!) self.ws?.queue = self.handleQueue self.ws?.delegate = self - + if connect { self.ws?.connect() } @@ -184,16 +184,19 @@ public class SocketEngine: NSObject, WebSocketDelegate { } self.waitingForPoll = true - let req = NSURLRequest(URL: NSURL(string: self.urlPolling! + "&sid=\(self.sid)&b64=1")!) + let req = NSMutableURLRequest(URL: NSURL(string: self.urlPolling! + "&sid=\(self.sid)&b64=1")!) self.doRequest(req) } - private func doRequest(req:NSURLRequest) { + private func doRequest(req:NSMutableURLRequest) { if !self.polling { return } + req.cachePolicy = NSURLRequestCachePolicy.ReloadIgnoringLocalAndRemoteCacheData + + // NSLog("Doing request: \(req)") self.session.dataTaskWithRequest(req) {[weak self] data, res, err in if self == nil { return @@ -205,7 +208,7 @@ public class SocketEngine: NSObject, WebSocketDelegate { return } - // println(data) + // NSLog("Got response: \(res)") if let str = NSString(data: data, encoding: NSUTF8StringEncoding) as? String { dispatch_async(self!.parseQueue) { @@ -219,7 +222,7 @@ public class SocketEngine: NSObject, WebSocketDelegate { if self!.fastUpgrade { self?.doFastUpgrade() return - } else if !self!.closed { + } else if !self!.closed && !self!.websocket { self?.doPoll() } }.resume() @@ -369,6 +372,7 @@ public class SocketEngine: NSObject, WebSocketDelegate { length += chr } else { if length == "" || testLength(length, &n) { + NSLog("parsing error: \(str)") self.handlePollingFailed("Error parsing XHR message") return } @@ -377,7 +381,7 @@ public class SocketEngine: NSObject, WebSocketDelegate { if let lengthInt = length.toInt() { if lengthInt != msg.length { - println("parsing error") + NSLog("parsing error: \(str)") return } }