mirror of
https://github.com/BerriAI/litellm.git
synced 2026-10-05 02:41:56 +00:00
refactor(management): flatten query-param aliases iteratively to satisfy recursion gate
Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
parent
c668067f4a
commit
a0edc48c25
1 changed files with 8 additions and 6 deletions
|
|
@ -35,11 +35,13 @@ def problem_response(problem: ProblemDetail) -> JSONResponse:
|
|||
)
|
||||
|
||||
|
||||
def _flat_query_params(dependant: Dependant) -> tuple[str, ...]:
|
||||
return (
|
||||
*(field.alias for field in dependant.query_params),
|
||||
*(alias for dependency in dependant.dependencies for alias in _flat_query_params(dependency)),
|
||||
)
|
||||
def _flat_query_param_aliases(dependant: Dependant) -> frozenset[str]:
|
||||
frontier: tuple[Dependant, ...] = (dependant,)
|
||||
aliases: frozenset[str] = frozenset()
|
||||
while frontier:
|
||||
aliases |= frozenset(field.alias for level in frontier for field in level.query_params)
|
||||
frontier = tuple(sub for level in frontier for sub in level.dependencies)
|
||||
return aliases
|
||||
|
||||
|
||||
def _declared_query_params(request: Request) -> frozenset[str]:
|
||||
|
|
@ -47,7 +49,7 @@ def _declared_query_params(request: Request) -> frozenset[str]:
|
|||
dependant = getattr(route, "dependant", None)
|
||||
if not isinstance(dependant, Dependant):
|
||||
return frozenset()
|
||||
return frozenset(_flat_query_params(dependant))
|
||||
return _flat_query_param_aliases(dependant)
|
||||
|
||||
|
||||
async def reject_unknown_query_params(request: Request) -> None:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue