Merge pull request #4685 from BerriAI/litellm_return_type_expired_key

[Fix] Proxy Return type=expire_key on expired Key errors
This commit is contained in:
Ishaan Jaff 2024-07-12 18:52:51 -07:00 • committed by GitHub
commit 70b96d12e9
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 8 additions and 3 deletions

View file

@ -1664,4 +1664,5 @@ class SpendCalculateRequest(LiteLLMBase):
class ProxyErrorTypes(str, enum.Enum):
budget_exceeded = "budget_exceeded"
expired_key = "expired_key"
auth_error = "auth_error"

View file

@ -753,9 +753,11 @@ async def user_api_key_auth(
)
if expiry_time < current_time:
# Token exists but is expired.
raise HTTPException(
status_code=status.HTTP_403_FORBIDDEN,
detail=f"Authentication Error - Expired Key. Key Expiry time {expiry_time} and current time {current_time}",
raise ProxyException(
message=f"Authentication Error - Expired Key. Key Expiry time {expiry_time} and current time {current_time}",
type=ProxyErrorTypes.expired_key,
code=400,
param=api_key,
)
# Check 4. Token Spend is under budget

View file

@ -941,6 +941,8 @@ def test_generate_and_call_with_expired_key(prisma_client):
print("Got Exception", e)
print(e.message)
assert "Authentication Error" in e.message
assert e.type == ProxyErrorTypes.expired_key
pass