hive-source-conn-password-fix (#4908)

This commit is contained in:
codingwithabhi 2022-05-12 19:56:11 +05:30 committed by GitHub
parent 52dac4ab37
commit 6adc46198c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -271,7 +271,35 @@ def _(connection: SnowflakeConnection):
@get_connection_url.register
def _(connection: HiveConnection):
url = get_connection_url_common(connection)
url = f"{connection.scheme.value}://"
if connection.connectionArguments:
if connection.connectionArguments.auth in ("LDAP", "CUSTOM"):
if connection.username:
url += f"{connection.username}"
if not connection.password:
connection.password = SecretStr("")
url += (
f":{quote_plus(connection.password.get_secret_value())}"
if connection
else ""
)
url += "@"
url += connection.hostPort
url += f"/{connection.database}" if connection.database else ""
options = (
connection.connectionOptions.dict()
if connection.connectionOptions
else connection.connectionOptions
)
if options:
if not connection.database:
url += "/"
params = "&".join(
f"{key}={quote_plus(value)}" for (key, value) in options.items() if value
)
url = f"{url}?{params}"
if connection.authOptions:
return f"{url};{connection.authOptions}"
return url