mirror of
https://github.com/BerriAI/litellm.git
synced 2026-09-17 23:51:30 +00:00
About 35,000 fixes ruff marks safe across 32 rules (UP006/UP045/UP007 modern annotations, UP032 f-strings, SIM114/SIM118, RET501, and friends), removal of the 1,296 typing imports the rewrite orphaned, and hand fixes for what the fixers could not see: five star-import freeloaders of typing names, two F823 late-import annotations, the /get/config/list introspection crash on types.UnionType, redundant function-local RoleMappings imports in ui_sso.py that shadowed the module-level name once the annotation lost its quotes, and one FURB168 tautology. B009/B010/PIE804/RUF019 are excluded on purpose: their safe fixes rewrite getattr/setattr/**-splat/key-in-dict escape hatches into forms basedpyright then rejects (283 new errors measured), so their budgets stay at base values. ruff-strict-budget.json drops by 39,579 this commit (39,968 across the branch) with 28 rules at an actual 0 and 9 more sharply down. type-discipline-budget.json ratchets LIT002/LIT006/LIT009 down; LIT001 moves to the now-honest total: the checker matches the spelling `set` but not the alias `Set`, so the 160 typing.Set annotations rewritten to set[...] were always mutable-set annotations and only now count.
27 lines
817 B
Python
27 lines
817 B
Python
"""
|
|
Example custom auth function.
|
|
|
|
This will allow all keys starting with "my-custom-key" to pass through.
|
|
"""
|
|
|
|
from fastapi import Request
|
|
|
|
from litellm.proxy._types import ProxyException, UserAPIKeyAuth
|
|
|
|
|
|
async def user_api_key_auth(request: Request, api_key: str) -> UserAPIKeyAuth | str:
|
|
try:
|
|
if api_key.startswith("my-custom-key"):
|
|
return "sk-P1zJMdsqCPNN54alZd_ETw"
|
|
if api_key == "invalid-api-key":
|
|
# raise a custom exception back to the client
|
|
raise ProxyException(
|
|
message="Invalid API key",
|
|
type="invalid_request_error",
|
|
param="api_key",
|
|
code=401,
|
|
)
|
|
else:
|
|
raise Exception("Invalid API key")
|
|
except Exception:
|
|
raise Exception("Invalid API key")
|