From 5cb8d5a0983d504a8b6e9bf4d84e10d7fe5d3354 Mon Sep 17 00:00:00 2001 From: Yuneng Jiang Date: Fri, 9 Oct 2026 16:32:58 -0700 Subject: [PATCH] fix(proxy): treat a logging object without a params mapping as never retried --- litellm/proxy/pass_through_endpoints/streaming_handler.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/litellm/proxy/pass_through_endpoints/streaming_handler.py b/litellm/proxy/pass_through_endpoints/streaming_handler.py index a04929b80fb..988678cab3f 100644 --- a/litellm/proxy/pass_through_endpoints/streaming_handler.py +++ b/litellm/proxy/pass_through_endpoints/streaming_handler.py @@ -2,6 +2,7 @@ import traceback from collections.abc import Coroutine, Mapping, Sequence from dataclasses import dataclass from datetime import datetime, timezone +from types import MappingProxyType from typing import Final, Protocol import httpx @@ -61,8 +62,12 @@ class PassThroughStreamContext: start_time: datetime +_NO_LITELLM_PARAMS: Final[Mapping[str, object]] = MappingProxyType({}) + + def _litellm_params(litellm_logging_obj: LiteLLMLoggingObj) -> Mapping[str, object]: - return litellm_logging_obj.litellm_params # pyright: ignore[reportUnknownMemberType, reportUnknownVariableType] # Logging.litellm_params is untyped + litellm_params: Final[object] = getattr(litellm_logging_obj, "litellm_params", None) + return litellm_params if isinstance(litellm_params, Mapping) else _NO_LITELLM_PARAMS # pyright: ignore[reportUnknownVariableType] # Logging.litellm_params is untyped class PassThroughStreamingHandler: