fix(proxy): handle missing DATABASE_URL in append_query_params (#21239)
* fix: handle missing database url in append_query_params * Update litellm/proxy/proxy_cli.py Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> --------- Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
This commit is contained in:
parent
89e95f779f
commit
0dcc744f7e
@ -37,11 +37,16 @@ class LiteLLMDatabaseConnectionPool(Enum):
|
||||
database_connection_pool_timeout = 60
|
||||
|
||||
|
||||
def append_query_params(url, params) -> str:
|
||||
def append_query_params(url: Optional[str], params: dict) -> str:
|
||||
from litellm._logging import verbose_proxy_logger
|
||||
|
||||
verbose_proxy_logger.debug(f"url: {url}")
|
||||
verbose_proxy_logger.debug(f"params: {params}")
|
||||
if not isinstance(url, str) or url == "":
|
||||
# Preserve previous startup behavior when DATABASE_URL is absent.
|
||||
# Returning an empty string avoids urlparse type errors in test/dev flows.
|
||||
verbose_proxy_logger.warning("append_query_params received empty or non-string URL, returning empty string")
|
||||
return ""
|
||||
parsed_url = urlparse.urlparse(url)
|
||||
parsed_query = urlparse.parse_qs(parsed_url.query)
|
||||
parsed_query.update(params)
|
||||
|
||||
@ -218,6 +218,12 @@ class TestProxyInitializationHelpers:
|
||||
assert "connection_limit=10" in modified_url
|
||||
assert "pool_timeout=60" in modified_url
|
||||
|
||||
def test_append_query_params_handles_missing_url(self):
|
||||
from litellm.proxy.proxy_cli import append_query_params
|
||||
|
||||
modified_url = append_query_params(None, {"connection_limit": 10})
|
||||
assert modified_url == ""
|
||||
|
||||
@patch("uvicorn.run")
|
||||
@patch("atexit.register") # 🔥 critical
|
||||
def test_skip_server_startup(self, mock_atexit_register, mock_uvicorn_run):
|
||||
|
||||
Loading…
Reference in New Issue
Block a user