Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 12 additions & 1 deletion Sources/SparkConnect/SparkConnectClient.swift
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ public actor SparkConnectClient {
let host: String
let port: Int
let token: String?
var useTLS: Bool = false
let transportSecurity: HTTP2ClientTransport.Posix.TransportSecurity
var intercepters: [ClientInterceptor] = []
let userContext: UserContext
var sessionID: String? = nil
Expand Down Expand Up @@ -56,6 +58,10 @@ public actor SparkConnectClient {
token = String(kv[1])
case URIParams.PARAM_USER_ID:
userName = String(kv[1])
case URIParams.PARAM_USE_SSL:
if String(kv[1]).lowercased() == "true" {
self.useTLS = true
}
default:
// Print warning and ignore
print("Unknown parameter: \(param)")
Expand All @@ -65,6 +71,11 @@ public actor SparkConnectClient {
if let token = self.token {
self.intercepters.append(BearerTokenInterceptor(token: token))
}
if self.useTLS {
self.transportSecurity = .tls
} else {
self.transportSecurity = .plaintext
}
self.userContext = userName.toUserContext
}

Expand Down Expand Up @@ -99,7 +110,7 @@ public actor SparkConnectClient {
try await withGRPCClient(
transport: .http2NIOPosix(
target: .dns(host: self.host, port: self.port),
transportSecurity: .plaintext
transportSecurity: self.transportSecurity
),
interceptors: self.intercepters
) { client in
Expand Down
Loading