From 4d4f97986f0b6f0a290b374353036da93a5072a9 Mon Sep 17 00:00:00 2001 From: Ansh Rohilla Date: Mon, 28 Sep 2026 22:54:25 +0530 Subject: [PATCH] fix(proxy_extras): preserve host parameter in _strip_prisma_query_params --- litellm-proxy-extras/litellm_proxy_extras/utils.py | 3 +++ .../tests/test_setup_database_fail_fast.py | 8 ++++++++ 2 files changed, 11 insertions(+) diff --git a/litellm-proxy-extras/litellm_proxy_extras/utils.py b/litellm-proxy-extras/litellm_proxy_extras/utils.py index 8a83c786e02..71c071c69c4 100644 --- a/litellm-proxy-extras/litellm_proxy_extras/utils.py +++ b/litellm-proxy-extras/litellm_proxy_extras/utils.py @@ -656,6 +656,9 @@ class ProxyExtrasDBManager: if not parsed.query: return url libpq_params = { + "host", + "hostaddr", + "port", "sslmode", "sslcert", "sslkey", diff --git a/litellm-proxy-extras/tests/test_setup_database_fail_fast.py b/litellm-proxy-extras/tests/test_setup_database_fail_fast.py index 832075f6fbe..a6173803ecf 100644 --- a/litellm-proxy-extras/tests/test_setup_database_fail_fast.py +++ b/litellm-proxy-extras/tests/test_setup_database_fail_fast.py @@ -71,6 +71,14 @@ def test_strip_prisma_query_params_passthrough_no_query(): assert ProxyExtrasDBManager._strip_prisma_query_params(url) == url +def test_strip_prisma_query_params_preserves_host_socket(): + """Unix-socket DATABASE_URLs using host parameter (e.g. Cloud SQL) must be preserved.""" + url = "postgresql://user:pass@localhost/litellm?host=/cloudsql/project:region:instance&connection_limit=10" + stripped = ProxyExtrasDBManager._strip_prisma_query_params(url) + assert "host=%2Fcloudsql%2Fproject%3Aregion%3Ainstance" in stripped + assert "connection_limit" not in stripped + + def test_migration_timestamp_extracts_leading_digits(): assert _migration_timestamp("20260101000000_add_foo") == 20260101000000 assert _migration_timestamp("20250326162113_baseline") == 20250326162113