21
21
)
22
22
23
23
# Cache special headers as a frozenset for O(1) lookup performance
24
- _SPECIAL_HEADERS_CACHE = frozenset (v .value .lower () for v in SpecialHeaders ._member_map_ .values ())
24
+ _SPECIAL_HEADERS_CACHE = frozenset (
25
+ v .value .lower () for v in SpecialHeaders ._member_map_ .values ()
26
+ )
25
27
from litellm .proxy .auth .route_checks import RouteChecks
26
28
from litellm .router import Router
27
29
from litellm .types .llms .anthropic import ANTHROPIC_API_HEADERS
@@ -64,6 +66,7 @@ def parse_cache_control(cache_control):
64
66
"files" ,
65
67
)
66
68
69
+
67
70
def _get_metadata_variable_name (request : Request ) -> str :
68
71
"""
69
72
Helper to return what the "metadata" field should be called in the request data
@@ -157,6 +160,7 @@ def get_key_dynamic_logging_settings(user_api_key_dict: UserAPIKeyAuth):
157
160
158
161
@staticmethod
159
162
def get_team_dynamic_logging_settings (user_api_key_dict : UserAPIKeyAuth ):
163
+
160
164
if (
161
165
user_api_key_dict .team_metadata is not None
162
166
and "logging" in user_api_key_dict .team_metadata
@@ -169,12 +173,12 @@ def _get_dynamic_logging_metadata(
169
173
user_api_key_dict : UserAPIKeyAuth , proxy_config : ProxyConfig
170
174
) -> Optional [TeamCallbackMetadata ]:
171
175
callback_settings_obj : Optional [TeamCallbackMetadata ] = None
172
- key_dynamic_logging_settings : Optional [
173
- dict
174
- ] = KeyAndTeamLoggingSettings . get_key_dynamic_logging_settings ( user_api_key_dict )
175
- team_dynamic_logging_settings : Optional [
176
- dict
177
- ] = KeyAndTeamLoggingSettings . get_team_dynamic_logging_settings ( user_api_key_dict )
176
+ key_dynamic_logging_settings : Optional [dict ] = (
177
+ KeyAndTeamLoggingSettings . get_key_dynamic_logging_settings ( user_api_key_dict )
178
+ )
179
+ team_dynamic_logging_settings : Optional [dict ] = (
180
+ KeyAndTeamLoggingSettings . get_team_dynamic_logging_settings ( user_api_key_dict )
181
+ )
178
182
#########################################################################################
179
183
# Key-based callbacks
180
184
#########################################################################################
@@ -234,12 +238,16 @@ def clean_headers(
234
238
Removes litellm api key from headers
235
239
"""
236
240
clean_headers = {}
237
- litellm_key_lower = litellm_key_header_name .lower () if litellm_key_header_name is not None else None
238
-
241
+ litellm_key_lower = (
242
+ litellm_key_header_name .lower () if litellm_key_header_name is not None else None
243
+ )
244
+
239
245
for header , value in headers .items ():
240
246
header_lower = header .lower ()
241
247
# Check if header should be excluded: either in special headers cache or matches custom litellm key
242
- if (header_lower not in _SPECIAL_HEADERS_CACHE and (litellm_key_lower is None or header_lower != litellm_key_lower )):
248
+ if header_lower not in _SPECIAL_HEADERS_CACHE and (
249
+ litellm_key_lower is None or header_lower != litellm_key_lower
250
+ ):
243
251
clean_headers [header ] = value
244
252
return clean_headers
245
253
@@ -614,11 +622,11 @@ def add_key_level_controls(
614
622
615
623
## KEY-LEVEL SPEND LOGS / TAGS
616
624
if "tags" in key_metadata and key_metadata ["tags" ] is not None :
617
- data [_metadata_variable_name ][
618
- "tags"
619
- ] = LiteLLMProxyRequestSetup . _merge_tags (
620
- request_tags = data [ _metadata_variable_name ]. get ( "tags" ) ,
621
- tags_to_add = key_metadata [ "tags" ],
625
+ data [_metadata_variable_name ]["tags" ] = (
626
+ LiteLLMProxyRequestSetup . _merge_tags (
627
+ request_tags = data [ _metadata_variable_name ]. get ( "tags" ),
628
+ tags_to_add = key_metadata [ "tags" ] ,
629
+ )
622
630
)
623
631
if "spend_logs_metadata" in key_metadata and isinstance (
624
632
key_metadata ["spend_logs_metadata" ], dict
@@ -847,9 +855,9 @@ async def add_litellm_data_to_request( # noqa: PLR0915
847
855
data [_metadata_variable_name ]["litellm_api_version" ] = version
848
856
849
857
if general_settings is not None :
850
- data [_metadata_variable_name ][
851
- "global_max_parallel_requests"
852
- ] = general_settings . get ( "global_max_parallel_requests" , None )
858
+ data [_metadata_variable_name ]["global_max_parallel_requests" ] = (
859
+ general_settings . get ( "global_max_parallel_requests" , None )
860
+ )
853
861
854
862
### KEY-LEVEL Controls
855
863
key_metadata = user_api_key_dict .metadata
0 commit comments