From 85a7a9a4331681959aa7ccae26393265fcc82970 Mon Sep 17 00:00:00 2001 From: ege-arhan Date: Fri, 23 Oct 2026 01:35:05 +0000 Subject: [PATCH] fix(proxy): type request headers before case-insensitive lookup basedpyright gate grew reportUnknown{Argument,Member,Variable}Type because the lookup iterated the bare dict. Restore the cast to dict[str, str | None] and iterate that, keeping the case-insensitive match. --- litellm/litellm_core_utils/litellm_logging.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/litellm/litellm_core_utils/litellm_logging.py b/litellm/litellm_core_utils/litellm_logging.py index 53c980a3012..cfc05cdd651 100644 --- a/litellm/litellm_core_utils/litellm_logging.py +++ b/litellm/litellm_core_utils/litellm_logging.py @@ -7064,10 +7064,13 @@ class StandardLoggingPayloadSetup: headers: Final = proxy_server_request.get("headers", {}) if not isinstance(headers, dict): return None + request_headers: Final = cast( # cast-ok: request headers are untyped framework data + dict[str, str | None], headers + ) # Header names are case-insensitive: a client that sends "User-Agent" # or "USER-AGENT" must still be tagged (#40979). user_agent: Final = next( - (v for k, v in headers.items() if str(k).lower() == "user-agent"), + (v for k, v in request_headers.items() if k.lower() == "user-agent"), None, ) if user_agent is not None: