mirror of
https://github.com/BerriAI/litellm.git
synced 2026-11-01 07:03:02 +00:00
* fix(proxy): stop answering with the literal string "None" on the proxy-server, auth, and health routes The error objects these routes return defaulted `type` and `param` to the four-character string "None", so a client's error handler matched no known OpenAI type and fell into its generic branch. Route them through the shared openai_error_payload helpers instead, so `type` comes from the carried type or the HTTP status and `param` serializes as JSON null. * fix(proxy): stop answering with the literal string "None" on the spend and management routes The error objects these routes return defaulted `type` and `param` to the four-character string "None", so a client's error handler matched no known OpenAI type and fell into its generic branch. Route them through the shared openai_error_payload helpers instead, so `type` comes from the carried type or the HTTP status and `param` serializes as JSON null. * test(proxy): pin the mid-stream failure frame and the DB outage body to a JSON null param * fix(proxy): type upstream timeouts as timeout_error and update integration asserts for the null param A 408 with no carried type now answers timeout_error instead of invalid_request_error, so a client branching on type keeps retrying it. Three integration suites still compared auth rejections against param="None". * fix(proxy): keep a 408 on main's invalid_request_error type and pin the transcription file cap's 400 * fix(proxy): type a route failure by the status it answers with after the tag-routing and no-deployment remap * fix(proxy): keep auth_error on proxy-raised 401/403 route failures and ban the string None as an error type or param * fix(proxy): type a hook's 401 or 403 on completions, moderations and transcription by its status, as chat does Only a status the proxy remapped into 401 or 403, such as a tag-routing denial, keeps auth_error. * test(proxy): build the transcription file-cap test on a real router so it holds after the router refactor |
||
|---|---|---|
| .. | ||
| _callback_traffic.py | ||
| _canary.py | ||
| _sinks.py | ||
| _sweeps.py | ||
| test_air_gapped_boot.py | ||
| test_api_key_secret_reference.py | ||
| test_callback_credentials.py | ||
| test_config_deployment_key.py | ||
| test_config_overrides.py | ||
| test_container_ownership.py | ||
| test_datadog_sink.py | ||
| test_files_batches_access.py | ||
| test_fine_tuning_managed_ids.py | ||
| test_hide_secrets_tool_compatibility.py | ||
| test_hide_secrets_tool_traffic.py | ||
| test_managed_file_listing.py | ||
| test_master_key_not_in_db.py | ||
| test_mcp_slots.py | ||
| test_metrics_text.py | ||
| test_offline_mode.py | ||
| test_passthrough_slots.py | ||
| test_proxy_logs.py | ||
| test_request_path_slots.py | ||
| test_stored_config_slots.py | ||
| test_sweep_sensitivity.py | ||