This commit is contained in:
Erik 2015-03-28 16:54:48 -04:00
parent da1cf9eb89
commit 93f1cfe9dc

View File

@ -164,7 +164,7 @@ public class SocketEngine: NSObject, WebSocketDelegate {
self.ws = WebSocket(url: NSURL(string: self.urlWebSocket! + "&sid=\(self.sid)")!) self.ws = WebSocket(url: NSURL(string: self.urlWebSocket! + "&sid=\(self.sid)")!)
self.ws?.queue = self.handleQueue self.ws?.queue = self.handleQueue
self.ws?.delegate = self self.ws?.delegate = self
if connect { if connect {
self.ws?.connect() self.ws?.connect()
} }
@ -184,16 +184,19 @@ public class SocketEngine: NSObject, WebSocketDelegate {
} }
self.waitingForPoll = true 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) self.doRequest(req)
} }
private func doRequest(req:NSURLRequest) { private func doRequest(req:NSMutableURLRequest) {
if !self.polling { if !self.polling {
return return
} }
req.cachePolicy = NSURLRequestCachePolicy.ReloadIgnoringLocalAndRemoteCacheData
// NSLog("Doing request: \(req)")
self.session.dataTaskWithRequest(req) {[weak self] data, res, err in self.session.dataTaskWithRequest(req) {[weak self] data, res, err in
if self == nil { if self == nil {
return return
@ -205,7 +208,7 @@ public class SocketEngine: NSObject, WebSocketDelegate {
return return
} }
// println(data) // NSLog("Got response: \(res)")
if let str = NSString(data: data, encoding: NSUTF8StringEncoding) as? String { if let str = NSString(data: data, encoding: NSUTF8StringEncoding) as? String {
dispatch_async(self!.parseQueue) { dispatch_async(self!.parseQueue) {
@ -219,7 +222,7 @@ public class SocketEngine: NSObject, WebSocketDelegate {
if self!.fastUpgrade { if self!.fastUpgrade {
self?.doFastUpgrade() self?.doFastUpgrade()
return return
} else if !self!.closed { } else if !self!.closed && !self!.websocket {
self?.doPoll() self?.doPoll()
} }
}.resume() }.resume()
@ -369,6 +372,7 @@ public class SocketEngine: NSObject, WebSocketDelegate {
length += chr length += chr
} else { } else {
if length == "" || testLength(length, &n) { if length == "" || testLength(length, &n) {
NSLog("parsing error: \(str)")
self.handlePollingFailed("Error parsing XHR message") self.handlePollingFailed("Error parsing XHR message")
return return
} }
@ -377,7 +381,7 @@ public class SocketEngine: NSObject, WebSocketDelegate {
if let lengthInt = length.toInt() { if let lengthInt = length.toInt() {
if lengthInt != msg.length { if lengthInt != msg.length {
println("parsing error") NSLog("parsing error: \(str)")
return return
} }
} }