Be sure to keep secure config even if config is changed. Fix #1078

This commit is contained in:
Erik Little 2018-08-30 09:14:27 -04:00
parent 25df8b66fc
commit 520ff72395
No known key found for this signature in database
GPG Key ID: 62F837E56F4E9320
2 changed files with 16 additions and 5 deletions

View File

@ -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.

View File

@ -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()