Merge pull request #55 from ramki982/master

Adding support for self signed certificates by passing in a NSURLSessionDelegate optional
This commit is contained in:
Erik Little 2015-04-17 07:44:23 -04:00
commit f38cf9ed3a
2 changed files with 12 additions and 5 deletions

5
SocketIOClientSwift/SocketEngine.swift Normal file → Executable file
View File

@ -23,7 +23,6 @@
// THE SOFTWARE.
import Foundation
extension String {
private var length:Int {
return count(self)
@ -93,14 +92,14 @@ public final class SocketEngine: NSObject, WebSocketDelegate, SocketLogClient {
}
public init(client:SocketEngineClient, forcePolling:Bool,
forceWebsockets:Bool, withCookies cookies:[NSHTTPCookie]?, logging:Bool) {
forceWebsockets:Bool, withCookies cookies:[NSHTTPCookie]?, logging:Bool, withSessionDelegate sessionDelegate : NSURLSessionDelegate?) {
self.client = client
self.forcePolling = forcePolling
self.forceWebsockets = forceWebsockets
self.cookies = cookies
self.log = logging
self.session = NSURLSession(configuration: NSURLSessionConfiguration.ephemeralSessionConfiguration(),
delegate: nil, delegateQueue: self.workQueue)
delegate: sessionDelegate, delegateQueue: self.workQueue)
}
public func close(#fast:Bool) {

12
SocketIOClientSwift/SocketIOClient.swift Normal file → Executable file
View File

@ -24,7 +24,7 @@
import Foundation
public final class SocketIOClient: NSObject, SocketEngineClient, SocketLogClient {
public final class SocketIOClient: NSObject, NSURLSessionDelegate, SocketEngineClient, SocketLogClient {
private lazy var params = [String: AnyObject]()
private var anyHandler:((SocketAnyEvent) -> Void)?
private var _closed = false
@ -40,6 +40,7 @@ public final class SocketIOClient: NSObject, SocketEngineClient, SocketLogClient
private var _reconnecting = false
private var reconnectTimer:NSTimer?
let reconnectAttempts:Int!
let logType = "SocketClient"
var ackHandlers = SocketAckMap()
@ -47,6 +48,8 @@ public final class SocketIOClient: NSObject, SocketEngineClient, SocketLogClient
var log = false
var waitingData = ContiguousArray<SocketPacket>()
var sessionDelegate : NSURLSessionDelegate?
public let socketURL:String
public let handleAckQueue = dispatch_queue_create("handleAckQueue", DISPATCH_QUEUE_SERIAL)
public let handleQueue = dispatch_queue_create("handleQueue", DISPATCH_QUEUE_SERIAL)
@ -90,6 +93,10 @@ public final class SocketIOClient: NSObject, SocketEngineClient, SocketLogClient
// Set options
if opts != nil {
if let sessionDelegate = opts!["sessionDelegate"] as? NSURLSessionDelegate {
self.sessionDelegate = sessionDelegate
}
if let cookies = opts!["cookies"] as? [NSHTTPCookie] {
self.cookies = cookies
}
@ -145,7 +152,8 @@ public final class SocketIOClient: NSObject, SocketEngineClient, SocketLogClient
forcePolling: self.forcePolling,
forceWebsockets: self.forceWebsockets,
withCookies: self.cookies,
logging: self.log)
logging: self.log,
withSessionDelegate : self.sessionDelegate)
}
/**