@@ -67,6 +67,7 @@ public class SocketEngine: NSObject, WebSocketDelegate {
67
67
var connected : Bool {
68
68
return self . _connected
69
69
}
70
+ var cookies : [ NSHTTPCookie ] ?
70
71
var pingInterval : Int ?
71
72
var polling : Bool {
72
73
return self . _polling
@@ -79,9 +80,10 @@ public class SocketEngine: NSObject, WebSocketDelegate {
79
80
}
80
81
var ws : WebSocket ?
81
82
82
- init ( client: SocketIOClient , forcePolling: Bool = false ) {
83
+ init ( client: SocketIOClient , forcePolling: Bool = false , withCookies cookies : [ NSHTTPCookie ] ? ) {
83
84
self . client = client
84
85
self . forcePolling = forcePolling
86
+ self . cookies = cookies
85
87
self . session = NSURLSession ( configuration: NSURLSessionConfiguration . ephemeralSessionConfiguration ( ) ,
86
88
delegate: nil , delegateQueue: self . workQueue)
87
89
}
@@ -288,7 +290,13 @@ public class SocketEngine: NSObject, WebSocketDelegate {
288
290
let ( urlPolling, urlWebSocket) = self . createURLs ( params: opts)
289
291
self . urlPolling = urlPolling
290
292
self . urlWebSocket = urlWebSocket
291
- let reqPolling = NSURLRequest ( URL: NSURL ( string: urlPolling + " &b64=1 " ) !)
293
+ let reqPolling = NSMutableURLRequest ( URL: NSURL ( string: urlPolling + " &b64=1 " ) !)
294
+
295
+ if self . cookies != nil {
296
+ let headers = NSHTTPCookie . requestHeaderFieldsWithCookies ( self . cookies!)
297
+ reqPolling. allHTTPHeaderFields = headers
298
+ }
299
+
292
300
293
301
self . session. dataTaskWithRequest ( reqPolling) { [ weak self] data, res, err in
294
302
var err2 : NSError ?
@@ -472,10 +480,10 @@ public class SocketEngine: NSObject, WebSocketDelegate {
472
480
}
473
481
474
482
if self !. websocket {
475
- // println ("sending ws: \(msg):\(datas)")
483
+ // NSLog ("sending ws: \(msg):\(datas)")
476
484
self ? . sendWebSocketMessage ( msg, withType: PacketType . MESSAGE, datas: datas)
477
485
} else {
478
- // println ("sending poll: \(msg):\(datas)")
486
+ // NSLog ("sending poll: \(msg):\(datas)")
479
487
self ? . sendPollMessage ( msg, withType: PacketType . MESSAGE, datas: datas)
480
488
}
481
489
}
@@ -588,4 +596,4 @@ public class SocketEngine: NSObject, WebSocketDelegate {
588
596
public func websocketDidReceiveData( socket: WebSocket , data: NSData ) {
589
597
self . parseEngineData ( data)
590
598
}
591
- }
599
+ }
0 commit comments