diff --git a/Source/SocketIO/Manager/SocketManager.swift b/Source/SocketIO/Manager/SocketManager.swift index 126aec1..d4407f4 100644 --- a/Source/SocketIO/Manager/SocketManager.swift +++ b/Source/SocketIO/Manager/SocketManager.swift @@ -137,10 +137,6 @@ open class SocketManager : NSObject, SocketManagerSpec, SocketParsable, SocketDa self._config = config self.socketURL = socketURL - if socketURL.absoluteString.hasPrefix("https://") { - self._config.insert(.secure(true)) - } - super.init() setConfigs(_config) @@ -489,12 +485,17 @@ open class SocketManager : NSObject, SocketManagerSpec, SocketParsable, SocketDa DefaultSocketLogger.Logger.log = log case let .logger(logger): DefaultSocketLogger.Logger = logger - default: + case _: continue } } _config = config + + if socketURL.absoluteString.hasPrefix("https://") { + _config.insert(.secure(true)) + } + _config.insert(.path("/socket.io/"), replacing: false) // If `ConfigSettable` & `SocketEngineSpec`, update its configs. diff --git a/Tests/TestSocketIO/SocketMangerTest.swift b/Tests/TestSocketIO/SocketMangerTest.swift index 22da481..37e5dba 100644 --- a/Tests/TestSocketIO/SocketMangerTest.swift +++ b/Tests/TestSocketIO/SocketMangerTest.swift @@ -18,6 +18,16 @@ class SocketMangerTest : XCTestCase { XCTAssertEqual(manager.status, .notConnected) } + func testSettingConfig() { + let manager = SocketManager(socketURL: URL(string: "https://example.com/")!) + + XCTAssertEqual(manager.config.first!, .secure(true)) + + manager.config = [] + + XCTAssertEqual(manager.config.first!, .secure(true)) + } + func testManagerCallsConnect() { setUpSockets()