Merge branch 'auth'

This commit is contained in:
Erik 2015-03-18 13:27:06 -04:00
commit 1a5487fec5
2 changed files with 21 additions and 6 deletions

View File

@ -67,6 +67,7 @@ public class SocketEngine: NSObject, WebSocketDelegate {
var connected:Bool {
return self._connected
}
var cookies:[NSHTTPCookie]?
var pingInterval:Int?
var polling:Bool {
return self._polling
@ -79,9 +80,10 @@ public class SocketEngine: NSObject, WebSocketDelegate {
}
var ws:WebSocket?
init(client:SocketIOClient, forcePolling:Bool = false) {
init(client:SocketIOClient, forcePolling:Bool = false, withCookies cookies:[NSHTTPCookie]?) {
self.client = client
self.forcePolling = forcePolling
self.cookies = cookies
self.session = NSURLSession(configuration: NSURLSessionConfiguration.ephemeralSessionConfiguration(),
delegate: nil, delegateQueue: self.workQueue)
}
@ -288,7 +290,13 @@ public class SocketEngine: NSObject, WebSocketDelegate {
let (urlPolling, urlWebSocket) = self.createURLs(params: opts)
self.urlPolling = urlPolling
self.urlWebSocket = urlWebSocket
let reqPolling = NSURLRequest(URL: NSURL(string: urlPolling + "&b64=1")!)
let reqPolling = NSMutableURLRequest(URL: NSURL(string: urlPolling + "&b64=1")!)
if self.cookies != nil {
let headers = NSHTTPCookie.requestHeaderFieldsWithCookies(self.cookies!)
reqPolling.allHTTPHeaderFields = headers
}
self.session.dataTaskWithRequest(reqPolling) {[weak self] data, res, err in
var err2:NSError?
@ -472,10 +480,10 @@ public class SocketEngine: NSObject, WebSocketDelegate {
}
if self!.websocket {
// println("sending ws: \(msg):\(datas)")
// NSLog("sending ws: \(msg):\(datas)")
self?.sendWebSocketMessage(msg, withType: PacketType.MESSAGE, datas: datas)
} else {
// println("sending poll: \(msg):\(datas)")
// NSLog("sending poll: \(msg):\(datas)")
self?.sendPollMessage(msg, withType: PacketType.MESSAGE, datas: datas)
}
}
@ -588,4 +596,4 @@ public class SocketEngine: NSObject, WebSocketDelegate {
public func websocketDidReceiveData(socket:WebSocket, data:NSData) {
self.parseEngineData(data)
}
}
}

View File

@ -60,6 +60,7 @@ public class SocketIOClient: NSObject {
public var connecting:Bool {
return self._connecting
}
public var cookies:[NSHTTPCookie]?
public var engine:SocketEngine?
public var nsp:String?
public var reconnects = true
@ -107,13 +108,19 @@ public class SocketIOClient: NSObject {
if let polling = opts!["forcePolling"] as? Bool {
self.forcePolling = polling
}
if let cookies = opts!["cookies"] as? [NSHTTPCookie] {
self.cookies = cookies
}
} else {
self.reconnectAttempts = -1
}
super.init()
self.engine = SocketEngine(client: self, forcePolling: self.forcePolling)
self.engine = SocketEngine(client: self,
forcePolling: self.forcePolling,
withCookies: self.cookies)
}
public convenience init(socketURL:String, options:NSDictionary?) {