Skip to content

Commit 9abf2e7

Browse files
committed
use socketioclientoptions for engine
1 parent 0dd3def commit 9abf2e7

File tree

4 files changed

+30
-14
lines changed

4 files changed

+30
-14
lines changed

SocketIO-MacTests/SocketEngineTest.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ class SocketEngineTest: XCTestCase {
1515
override func setUp() {
1616
super.setUp()
1717
client = SocketIOClient(socketURL: "")
18-
engine = SocketEngine(client: client, opts: nil)
18+
engine = SocketEngine(client: client, options: nil)
1919

2020
client.setTestable()
2121
}

SocketIOClientSwift/SocketEngine.swift

Lines changed: 27 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ public final class SocketEngine: NSObject, SocketEngineSpec, WebSocketDelegate {
4242
private let handleQueue = dispatch_queue_create("com.socketio.engineHandleQueue", DISPATCH_QUEUE_SERIAL)
4343
private let logType = "SocketEngine"
4444
private let parseQueue = dispatch_queue_create("com.socketio.engineParseQueue", DISPATCH_QUEUE_SERIAL)
45-
private let session: NSURLSession!
4645
private let workQueue = NSOperationQueue()
4746

4847
private var closed = false
@@ -63,6 +62,7 @@ public final class SocketEngine: NSObject, SocketEngineSpec, WebSocketDelegate {
6362
private var postWait = [String]()
6463
private var probing = false
6564
private var probeWait = ProbeWaitQueue()
65+
private var session: NSURLSession!
6666
private var waitingForPoll = false
6767
private var waitingForPost = false
6868
private var websocketConnected = false
@@ -71,16 +71,33 @@ public final class SocketEngine: NSObject, SocketEngineSpec, WebSocketDelegate {
7171
private(set) var polling = true
7272
private(set) var websocket = false
7373

74-
public init(client: SocketEngineClient, opts: NSDictionary?) {
74+
init(client: SocketEngineClient, options: Set<SocketIOClientOption>) {
7575
self.client = client
76-
session = NSURLSession(configuration: .defaultSessionConfiguration(),
77-
delegate: opts?["sessionDelegate"] as? NSURLSessionDelegate,
78-
delegateQueue: workQueue)
79-
forceWebsockets = opts?["forceWebsockets"] as? Bool ?? false
80-
forcePolling = opts?["forcePolling"] as? Bool ?? false
81-
cookies = opts?["cookies"] as? [NSHTTPCookie]
82-
socketPath = opts?["path"] as? String ?? ""
83-
extraHeaders = opts?["extraHeaders"] as? [String: String]
76+
for option in options {
77+
switch option {
78+
case .SessionDelegate(let delegate):
79+
session = NSURLSession(configuration: .defaultSessionConfiguration(),
80+
delegate: delegate,
81+
delegateQueue: workQueue)
82+
case .ForcePolling(let force):
83+
forcePolling = force
84+
case .ForceWebsockets(let force):
85+
forceWebsockets = force
86+
case .Cookies(let cookies):
87+
self.cookies = cookies
88+
case .Path(let path):
89+
socketPath = path
90+
case .ExtraHeaders(let headers):
91+
extraHeaders = headers
92+
default:
93+
continue
94+
}
95+
}
96+
}
97+
98+
public convenience init(client: SocketEngineClient, options: NSDictionary?) {
99+
self.init(client: client,
100+
options: SocketIOClientOption.NSDictionaryToSocketOptionsSet(options ?? [:]))
84101
}
85102

86103
deinit {

SocketIOClientSwift/SocketEngineSpec.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ import Foundation
3333
var urlPolling: String {get}
3434
var urlWebSocket: String {get}
3535

36-
init(client: SocketEngineClient, opts: NSDictionary?)
36+
init(client: SocketEngineClient, options: NSDictionary?)
3737

3838
func close()
3939
func open(opts: [String: AnyObject]?)

SocketIOClientSwift/SocketIOClient.swift

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,8 +111,7 @@ public final class SocketIOClient: NSObject, SocketEngineClient {
111111
private func addEngine() -> SocketEngine {
112112
Logger.log("Adding engine", type: logType)
113113

114-
let newEngine = SocketEngine(client: self, opts:
115-
SocketIOClientOption.SocketOptionsSetToNSDictionary(options ?? []))
114+
let newEngine = SocketEngine(client: self, options: options ?? [])
116115

117116
engine = newEngine
118117
return newEngine

0 commit comments

Comments
 (0)