forked from phoenix/litellm-mirror
use helper for _route_matches_pattern
This commit is contained in:
parent
2e0f501b56
commit
cdb94ffe16
1 changed files with 25 additions and 4 deletions
|
@ -174,10 +174,9 @@ class RouteChecks:
|
||||||
# Replace placeholders with regex pattern
|
# Replace placeholders with regex pattern
|
||||||
# placeholders are written as "/threads/{thread_id}"
|
# placeholders are written as "/threads/{thread_id}"
|
||||||
if "{" in openai_route:
|
if "{" in openai_route:
|
||||||
pattern = re.sub(r"\{[^}]+\}", r"[^/]+", openai_route)
|
if RouteChecks._route_matches_pattern(
|
||||||
# Anchor the pattern to match the entire string
|
route=route, pattern=openai_route
|
||||||
pattern = f"^{pattern}$"
|
):
|
||||||
if re.match(pattern, route):
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
# Pass through Bedrock, VertexAI, and Cohere Routes
|
# Pass through Bedrock, VertexAI, and Cohere Routes
|
||||||
|
@ -192,3 +191,25 @@ class RouteChecks:
|
||||||
if "/langfuse/" in route:
|
if "/langfuse/" in route:
|
||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def _route_matches_pattern(route: str, pattern: str) -> bool:
|
||||||
|
"""
|
||||||
|
Check if route matches the pattern placed in proxy/_types.py
|
||||||
|
|
||||||
|
Example:
|
||||||
|
- pattern: "/threads/{thread_id}"
|
||||||
|
- route: "/threads/thread_49EIN5QF32s4mH20M7GFKdlZ"
|
||||||
|
- returns: True
|
||||||
|
|
||||||
|
|
||||||
|
- pattern: "/key/{token_id}/regenerate"
|
||||||
|
- route: "/key/regenerate/82akk800000000jjsk"
|
||||||
|
- returns: False, pattern is "/key/{token_id}/regenerate"
|
||||||
|
"""
|
||||||
|
pattern = re.sub(r"\{[^}]+\}", r"[^/]+", pattern)
|
||||||
|
# Anchor the pattern to match the entire string
|
||||||
|
pattern = f"^{pattern}$"
|
||||||
|
if re.match(pattern, route):
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue