MCPcopy Create free account
hub / github.com/google/adk-python / merge_tracking_headers

Function merge_tracking_headers

src/google/adk/utils/_google_client_headers.py:34–56  ·  view source on GitHub ↗

Merge tracking headers to the given headers. Args: headers: headers to merge tracking headers into. Returns: A dictionary of HTTP headers with tracking headers merged.

(headers: dict[str, str] | None)

Source from the content-addressed store, hash-verified

32
33
34def merge_tracking_headers(headers: dict[str, str] | None) -> dict[str, str]:
35 """Merge tracking headers to the given headers.
36
37 Args:
38 headers: headers to merge tracking headers into.
39
40 Returns:
41 A dictionary of HTTP headers with tracking headers merged.
42 """
43 new_headers = (headers or {}).copy()
44 for key, tracking_header_value in get_tracking_headers().items():
45 custom_value = new_headers.get(key, None)
46 if not custom_value:
47 new_headers[key] = tracking_header_value
48 continue
49
50 # Merge tracking headers with existing headers and avoid duplicates.
51 value_parts = tracking_header_value.split(" ")
52 for custom_value_part in custom_value.split(" "):
53 if custom_value_part not in value_parts:
54 value_parts.append(custom_value_part)
55 new_headers[key] = " ".join(value_parts)
56 return new_headers

Callers 2

Calls 6

get_tracking_headersFunction · 0.85
splitMethod · 0.80
itemsMethod · 0.45
getMethod · 0.45
appendMethod · 0.45
joinMethod · 0.45

Tested by

no test coverage detected