2424
2525import Foundation
2626
27- public final class SocketIOClient : NSObject , SocketEngineClient , SocketLogClient {
27+ public final class SocketIOClient : NSObject , NSURLSessionDelegate , SocketEngineClient , SocketLogClient {
2828 private lazy var params = [ String: AnyObject] ( )
2929 private var anyHandler : ( ( SocketAnyEvent ) -> Void ) ?
3030 private var _closed = false
@@ -40,13 +40,16 @@ public final class SocketIOClient: NSObject, SocketEngineClient, SocketLogClient
4040 private var _reconnecting = false
4141 private var reconnectTimer : NSTimer ?
4242
43+
4344 let reconnectAttempts : Int !
4445 let logType = " SocketClient "
4546 var ackHandlers = SocketAckMap ( )
4647 var currentAck = - 1
4748 var log = false
4849 var waitingData = ContiguousArray < SocketPacket > ( )
4950
51+ var sessionDelegate : NSURLSessionDelegate ?
52+
5053 public let socketURL : String
5154 public let handleAckQueue = dispatch_queue_create ( " handleAckQueue " , DISPATCH_QUEUE_SERIAL)
5255 public let handleQueue = dispatch_queue_create ( " handleQueue " , DISPATCH_QUEUE_SERIAL)
@@ -90,6 +93,10 @@ public final class SocketIOClient: NSObject, SocketEngineClient, SocketLogClient
9093
9194 // Set options
9295 if opts != nil {
96+ if let sessionDelegate = opts![ " sessionDelegate " ] as? NSURLSessionDelegate {
97+ self . sessionDelegate = sessionDelegate
98+ }
99+
93100 if let cookies = opts![ " cookies " ] as? [ NSHTTPCookie ] {
94101 self . cookies = cookies
95102 }
@@ -145,7 +152,8 @@ public final class SocketIOClient: NSObject, SocketEngineClient, SocketLogClient
145152 forcePolling: self . forcePolling,
146153 forceWebsockets: self . forceWebsockets,
147154 withCookies: self . cookies,
148- logging: self . log)
155+ logging: self . log,
156+ withSessionDelegate : self . sessionDelegate)
149157 }
150158
151159 /**
0 commit comments