Skip to content

Commit 520ff72

Browse files
committed
Be sure to keep secure config even if config is changed. Fix #1078
1 parent 25df8b6 commit 520ff72

File tree

2 files changed

+16
-5
lines changed

2 files changed

+16
-5
lines changed

Source/SocketIO/Manager/SocketManager.swift

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -137,10 +137,6 @@ open class SocketManager : NSObject, SocketManagerSpec, SocketParsable, SocketDa
137137
self._config = config
138138
self.socketURL = socketURL
139139

140-
if socketURL.absoluteString.hasPrefix("https://") {
141-
self._config.insert(.secure(true))
142-
}
143-
144140
super.init()
145141

146142
setConfigs(_config)
@@ -489,12 +485,17 @@ open class SocketManager : NSObject, SocketManagerSpec, SocketParsable, SocketDa
489485
DefaultSocketLogger.Logger.log = log
490486
case let .logger(logger):
491487
DefaultSocketLogger.Logger = logger
492-
default:
488+
case _:
493489
continue
494490
}
495491
}
496492

497493
_config = config
494+
495+
if socketURL.absoluteString.hasPrefix("https://") {
496+
_config.insert(.secure(true))
497+
}
498+
498499
_config.insert(.path("/socket.io/"), replacing: false)
499500

500501
// If `ConfigSettable` & `SocketEngineSpec`, update its configs.

Tests/TestSocketIO/SocketMangerTest.swift

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,16 @@ class SocketMangerTest : XCTestCase {
1818
XCTAssertEqual(manager.status, .notConnected)
1919
}
2020

21+
func testSettingConfig() {
22+
let manager = SocketManager(socketURL: URL(string: "https://example.com/")!)
23+
24+
XCTAssertEqual(manager.config.first!, .secure(true))
25+
26+
manager.config = []
27+
28+
XCTAssertEqual(manager.config.first!, .secure(true))
29+
}
30+
2131
func testManagerCallsConnect() {
2232
setUpSockets()
2333

0 commit comments

Comments
 (0)