diff --git a/Source/SocketEngine.swift b/Source/SocketEngine.swift index c7b93e9..80443ec 100644 --- a/Source/SocketEngine.swift +++ b/Source/SocketEngine.swift @@ -76,6 +76,7 @@ public final class SocketEngine : NSObject, SocketEnginePollable, SocketEngineWe private var pongsMissedMax = 0 private var probeWait = ProbeWaitQueue() private var secure = false + private var security: SSLSecurity? private var selfSigned = false private var voipEnabled = false @@ -105,6 +106,8 @@ public final class SocketEngine : NSObject, SocketEnginePollable, SocketEngineWe voipEnabled = enable case let .Secure(secure): self.secure = secure + case let .Security(security): + self.security = security case let .SelfSigned(selfSigned): self.selfSigned = selfSigned default: @@ -265,6 +268,7 @@ public final class SocketEngine : NSObject, SocketEnginePollable, SocketEngineWe ws?.voipEnabled = voipEnabled ws?.delegate = self ws?.selfSignedSSL = selfSigned + ws?.security = security ws?.connect() } diff --git a/Source/SocketIOClientOption.swift b/Source/SocketIOClientOption.swift index 93626f5..d7a0d8d 100644 --- a/Source/SocketIOClientOption.swift +++ b/Source/SocketIOClientOption.swift @@ -45,6 +45,7 @@ public enum SocketIOClientOption : ClientOption { case ReconnectAttempts(Int) case ReconnectWait(Int) case Secure(Bool) + case Security(SSLSecurity) case SelfSigned(Bool) case SessionDelegate(NSURLSessionDelegate) case VoipEnabled(Bool) @@ -85,6 +86,8 @@ public enum SocketIOClientOption : ClientOption { description = "reconnectWait" case .Secure: description = "secure" + case .Security: + description = "security" case .SelfSigned: description = "selfSigned" case .SessionDelegate: @@ -136,6 +139,8 @@ public enum SocketIOClientOption : ClientOption { value = wait case let .Secure(secure): value = secure + case let .Security(security): + value = security case let .SelfSigned(signed): value = signed case let .SessionDelegate(delegate): @@ -195,6 +200,8 @@ extension NSDictionary { return .ReconnectWait(wait) case let ("secure", secure as Bool): return .Secure(secure) + case let ("security", security as SSLSecurity): + return .Security(security) case let ("selfSigned", selfSigned as Bool): return .SelfSigned(selfSigned) case let ("sessionDelegate", delegate as NSURLSessionDelegate):