let the engine get the opts it needs
This commit is contained in:
parent
a5b8202e45
commit
8a23960e20
@ -94,19 +94,21 @@ public final class SocketEngine: NSObject, WebSocketDelegate, SocketLogClient {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public init(client:SocketEngineClient, forcePolling:Bool,
|
public init(client:SocketEngineClient, sessionDelegate:NSURLSessionDelegate?) {
|
||||||
forceWebsockets:Bool, cookies:[NSHTTPCookie]?, logging:Bool,
|
|
||||||
sessionDelegate:NSURLSessionDelegate?, path:String) {
|
|
||||||
self.client = client
|
self.client = client
|
||||||
self.forcePolling = forcePolling
|
|
||||||
self.forceWebsockets = forceWebsockets
|
|
||||||
self.cookies = cookies
|
|
||||||
self.log = logging
|
|
||||||
self.socketPath = path
|
|
||||||
self.session = NSURLSession(configuration: NSURLSessionConfiguration.ephemeralSessionConfiguration(),
|
self.session = NSURLSession(configuration: NSURLSessionConfiguration.ephemeralSessionConfiguration(),
|
||||||
delegate: sessionDelegate, delegateQueue: self.workQueue)
|
delegate: sessionDelegate, delegateQueue: self.workQueue)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public convenience init(client:SocketEngineClient, opts:NSDictionary?) {
|
||||||
|
self.init(client: client, sessionDelegate: opts?["sessionDelegate"] as? NSURLSessionDelegate)
|
||||||
|
self.forceWebsockets = opts?["forceWebsockets"] as? Bool ?? false
|
||||||
|
self.forcePolling = opts?["forcePolling"] as? Bool ?? false
|
||||||
|
self.cookies = opts?["cookies"] as? [NSHTTPCookie]
|
||||||
|
self.log = opts?["log"] as? Bool ?? false
|
||||||
|
self.socketPath = opts?["path"] as? String ?? ""
|
||||||
|
}
|
||||||
|
|
||||||
deinit {
|
deinit {
|
||||||
SocketLogger.log("Engine is being deinit", client: self)
|
SocketLogger.log("Engine is being deinit", client: self)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -31,8 +31,6 @@ public final class SocketIOClient: NSObject, SocketEngineClient, SocketLogClient
|
|||||||
private var _connected = false
|
private var _connected = false
|
||||||
private var _connecting = false
|
private var _connecting = false
|
||||||
private var currentReconnectAttempt = 0
|
private var currentReconnectAttempt = 0
|
||||||
private var forcePolling = false
|
|
||||||
private var forceWebsockets = false
|
|
||||||
private var handlers = ContiguousArray<SocketEventHandler>()
|
private var handlers = ContiguousArray<SocketEventHandler>()
|
||||||
private var paramConnect = false
|
private var paramConnect = false
|
||||||
private var _secure = false
|
private var _secure = false
|
||||||
@ -61,9 +59,9 @@ public final class SocketIOClient: NSObject, SocketEngineClient, SocketLogClient
|
|||||||
public var connecting:Bool {
|
public var connecting:Bool {
|
||||||
return self._connecting
|
return self._connecting
|
||||||
}
|
}
|
||||||
public var cookies:[NSHTTPCookie]?
|
|
||||||
public var engine:SocketEngine?
|
public var engine:SocketEngine?
|
||||||
public var nsp = "/"
|
public var nsp = "/"
|
||||||
|
public var opts:[String: AnyObject]?
|
||||||
public var reconnects = true
|
public var reconnects = true
|
||||||
public var reconnecting:Bool {
|
public var reconnecting:Bool {
|
||||||
return self._reconnecting
|
return self._reconnecting
|
||||||
@ -75,13 +73,11 @@ public final class SocketIOClient: NSObject, SocketEngineClient, SocketLogClient
|
|||||||
public var sid:String? {
|
public var sid:String? {
|
||||||
return self._sid
|
return self._sid
|
||||||
}
|
}
|
||||||
public var socketPath = ""
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Create a new SocketIOClient. opts can be omitted
|
Create a new SocketIOClient. opts can be omitted
|
||||||
*/
|
*/
|
||||||
public init(var socketURL:String, opts:NSDictionary? = nil) {
|
public init(var socketURL:String, opts:[String: AnyObject]? = nil) {
|
||||||
if socketURL["https://"].matches().count != 0 {
|
if socketURL["https://"].matches().count != 0 {
|
||||||
self._secure = true
|
self._secure = true
|
||||||
}
|
}
|
||||||
@ -90,6 +86,7 @@ public final class SocketIOClient: NSObject, SocketEngineClient, SocketLogClient
|
|||||||
socketURL = socketURL["https://"] ~= ""
|
socketURL = socketURL["https://"] ~= ""
|
||||||
|
|
||||||
self.socketURL = socketURL
|
self.socketURL = socketURL
|
||||||
|
self.opts = opts
|
||||||
|
|
||||||
// Set options
|
// Set options
|
||||||
if opts != nil {
|
if opts != nil {
|
||||||
@ -97,22 +94,10 @@ public final class SocketIOClient: NSObject, SocketEngineClient, SocketLogClient
|
|||||||
self.sessionDelegate = sessionDelegate
|
self.sessionDelegate = sessionDelegate
|
||||||
}
|
}
|
||||||
|
|
||||||
if let cookies = opts!["cookies"] as? [NSHTTPCookie] {
|
|
||||||
self.cookies = cookies
|
|
||||||
}
|
|
||||||
|
|
||||||
if let log = opts!["log"] as? Bool {
|
if let log = opts!["log"] as? Bool {
|
||||||
self.log = log
|
self.log = log
|
||||||
}
|
}
|
||||||
|
|
||||||
if let path = opts!["path"] as? String {
|
|
||||||
self.socketPath = path
|
|
||||||
}
|
|
||||||
|
|
||||||
if let polling = opts!["forcePolling"] as? Bool {
|
|
||||||
self.forcePolling = polling
|
|
||||||
}
|
|
||||||
|
|
||||||
if var nsp = opts!["nsp"] as? String {
|
if var nsp = opts!["nsp"] as? String {
|
||||||
if nsp != "/" && nsp.hasPrefix("/") {
|
if nsp != "/" && nsp.hasPrefix("/") {
|
||||||
nsp.removeAtIndex(nsp.startIndex)
|
nsp.removeAtIndex(nsp.startIndex)
|
||||||
@ -134,10 +119,6 @@ public final class SocketIOClient: NSObject, SocketEngineClient, SocketLogClient
|
|||||||
if let reconnectWait = opts!["reconnectWait"] as? Int {
|
if let reconnectWait = opts!["reconnectWait"] as? Int {
|
||||||
self.reconnectWait = abs(reconnectWait)
|
self.reconnectWait = abs(reconnectWait)
|
||||||
}
|
}
|
||||||
|
|
||||||
if let ws = opts!["forceWebsockets"] as? Bool {
|
|
||||||
self.forceWebsockets = ws
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
self.reconnectAttempts = -1
|
self.reconnectAttempts = -1
|
||||||
}
|
}
|
||||||
@ -145,7 +126,7 @@ public final class SocketIOClient: NSObject, SocketEngineClient, SocketLogClient
|
|||||||
super.init()
|
super.init()
|
||||||
}
|
}
|
||||||
|
|
||||||
public convenience init(socketURL:String, options:NSDictionary?) {
|
public convenience init(socketURL:String, options:[String: AnyObject]?) {
|
||||||
self.init(socketURL: socketURL, opts: options)
|
self.init(socketURL: socketURL, opts: options)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -156,14 +137,7 @@ public final class SocketIOClient: NSObject, SocketEngineClient, SocketLogClient
|
|||||||
private func addEngine() {
|
private func addEngine() {
|
||||||
SocketLogger.log("Adding engine", client: self)
|
SocketLogger.log("Adding engine", client: self)
|
||||||
|
|
||||||
self.engine = SocketEngine(client: self,
|
self.engine = SocketEngine(client: self, opts: self.opts)
|
||||||
forcePolling: self.forcePolling,
|
|
||||||
forceWebsockets: self.forceWebsockets,
|
|
||||||
cookies: self.cookies,
|
|
||||||
logging: self.log,
|
|
||||||
sessionDelegate: self.sessionDelegate,
|
|
||||||
path: self.socketPath
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user