From b7216d5a3cc448132cbd2794cfd7066bc9dbdf71 Mon Sep 17 00:00:00 2001 From: lluuaapp <266615+lluuaapp@users.noreply.github.com> Date: Thu, 9 Jul 2026 11:24:10 +0200 Subject: [PATCH] Can init socket with custom NWParameters --- Sources/NWWebSocket/Model/Client/NWWebSocket.swift | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/Sources/NWWebSocket/Model/Client/NWWebSocket.swift b/Sources/NWWebSocket/Model/Client/NWWebSocket.swift index dea0466..590497d 100644 --- a/Sources/NWWebSocket/Model/Client/NWWebSocket.swift +++ b/Sources/NWWebSocket/Model/Client/NWWebSocket.swift @@ -48,6 +48,7 @@ open class NWWebSocket: WebSocketConnection { public convenience init(request: URLRequest, connectAutomatically: Bool = false, options: NWProtocolWebSocket.Options = NWWebSocket.defaultOptions, + parameters: NWParameters? = nil, connectionQueue: DispatchQueue = .main) { guard let url = request.url else { @@ -57,6 +58,7 @@ open class NWWebSocket: WebSocketConnection { self.init(url: invalidURL, connectAutomatically: connectAutomatically, options: options, + parameters: parameters, connectionQueue: connectionQueue) return } @@ -64,6 +66,7 @@ open class NWWebSocket: WebSocketConnection { self.init(url: url, connectAutomatically: connectAutomatically, options: options, + parameters: parameters, connectionQueue: connectionQueue) } @@ -77,17 +80,20 @@ open class NWWebSocket: WebSocketConnection { public init(url: URL, connectAutomatically: Bool = false, options: NWProtocolWebSocket.Options = NWWebSocket.defaultOptions, + parameters: NWParameters? = nil, connectionQueue: DispatchQueue = .main) { endpoint = .url(url) - if url.scheme == "ws" { - parameters = NWParameters.tcp + if let parameters { + self.parameters = parameters + } else if url.scheme == "ws" { + self.parameters = NWParameters.tcp } else { - parameters = NWParameters.tls + self.parameters = NWParameters.tls } - parameters.defaultProtocolStack.applicationProtocols.insert(options, at: 0) + self.parameters.defaultProtocolStack.applicationProtocols.insert(options, at: 0) self.connectionQueue = connectionQueue