mirror of
https://github.com/BerriAI/litellm.git
synced 2026-10-15 04:19:08 +00:00
The repo's recursion guard rejects unignored recursive functions, and this branch had added three. Two were plain iteration written as recursion: the model list walked its pages recursively, and the base URL stripped chat suffixes by calling itself. The third mattered more: a token exchange follower whose leader published nothing called get_token again, so a contended entry grew the stack one frame per failed leader All three are loops now. The suffix strip re-strips trailing slashes on each pass, which the recursion got for free by re-entering a function that begins by stripping them, and which a doubled suffix needs to keep matching The passthrough header tests also pin SERVER_ROOT_PATH. They drive the real relay, and a sibling test leaving that variable set re-prefixes the route, so the request 404s before any header is built and the assertion never runs |
||
|---|---|---|
| .. | ||
| llm_provider_handlers | ||
| test_carry_guardrail_logging_info.py | ||
| test_llm_pass_through_endpoints.py | ||
| test_managed_id_rewriter.py | ||
| test_method_specific_routing.py | ||
| test_pass_through_endpoints.py | ||
| test_passthrough_auth_default.py | ||
| test_passthrough_endpoint_router.py | ||
| test_passthrough_endpoints_common_utils.py | ||
| test_passthrough_guardrail_block_otel_span.py | ||
| test_passthrough_guardrails.py | ||
| test_passthrough_guardrails_field_targeting.py | ||
| test_passthrough_post_call_guardrails.py | ||
| test_streaming_handler_interrupt.py | ||
| test_upstream_usage_headers.py | ||
| test_vertex_ai_batch_passthrough.py | ||
| test_vertex_passthrough_load_balancing.py | ||
| test_watsonx_proxy_route.py | ||