Skip to content

Commit f38cf9e

Browse files
committed
Merge pull request #55 from ramki982/master
Adding support for self signed certificates by passing in a NSURLSessionDelegate optional
2 parents 06f04a0 + 057be73 commit f38cf9e

File tree

2 files changed

+12
-5
lines changed

2 files changed

+12
-5
lines changed

SocketIOClientSwift/SocketEngine.swift

100644100755
Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
// THE SOFTWARE.
2424

2525
import Foundation
26-
2726
extension String {
2827
private var length:Int {
2928
return count(self)
@@ -93,14 +92,14 @@ public final class SocketEngine: NSObject, WebSocketDelegate, SocketLogClient {
9392
}
9493

9594
public init(client:SocketEngineClient, forcePolling:Bool,
96-
forceWebsockets:Bool, withCookies cookies:[NSHTTPCookie]?, logging:Bool) {
95+
forceWebsockets:Bool, withCookies cookies:[NSHTTPCookie]?, logging:Bool, withSessionDelegate sessionDelegate : NSURLSessionDelegate?) {
9796
self.client = client
9897
self.forcePolling = forcePolling
9998
self.forceWebsockets = forceWebsockets
10099
self.cookies = cookies
101100
self.log = logging
102101
self.session = NSURLSession(configuration: NSURLSessionConfiguration.ephemeralSessionConfiguration(),
103-
delegate: nil, delegateQueue: self.workQueue)
102+
delegate: sessionDelegate, delegateQueue: self.workQueue)
104103
}
105104

106105
public func close(#fast:Bool) {

SocketIOClientSwift/SocketIOClient.swift

100644100755
Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424

2525
import 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

Comments
 (0)