Skip to content

Commit 978b267

Browse files
committed
refactored
1 parent 9a1ce95 commit 978b267

1 file changed

Lines changed: 12 additions & 24 deletions

File tree

  • packages/google-api-core/google/api_core/gapic_v1

packages/google-api-core/google/api_core/gapic_v1/method.py

Lines changed: 12 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -141,30 +141,18 @@ def __call__(
141141
wrapped_func = _apply_decorators(self._target, [retry, timeout])
142142

143143
# Add the user agent metadata to the call.
144-
if self._init_metadata or self._x_goog_api_client:
145-
user_metadata = kwargs.get("metadata")
146-
if not user_metadata:
147-
if self._x_goog_api_client:
148-
kwargs["metadata"] = [
149-
(client_info.METRICS_METADATA_KEY, self._x_goog_api_client),
150-
*self._init_metadata
151-
]
152-
else:
153-
kwargs["metadata"] = self._init_metadata
154-
else:
155-
# Merge user-supplied metadata with library-supplied metadata.
156-
merged_metadata, api_client_values = _extract_metrics_header(user_metadata)
157-
if self._x_goog_api_client:
158-
if api_client_values:
159-
api_client_values = f"{api_client_values} {self._x_goog_api_client}"
160-
else:
161-
api_client_values = self._x_goog_api_client
162-
if api_client_values:
163-
merged_metadata.append(
164-
(client_info.METRICS_METADATA_KEY, api_client_values)
165-
)
166-
merged_metadata.extend(self._init_metadata)
167-
kwargs["metadata"] = merged_metadata
144+
final_metadata = list(self._init_metadata)
145+
if user_metadata := kwargs.get("metadata"):
146+
remaining, user_x_goog = _extract_metrics_header(user_metadata)
147+
api_client_tokens = [t for t in [user_x_goog, self._x_goog_api_client] if t]
148+
if api_client_tokens:
149+
final_metadata.append((client_info.METRICS_METADATA_KEY, " ".join(api_client_tokens)))
150+
final_metadata.extend(remaining)
151+
else:
152+
if self._x_goog_api_client:
153+
final_metadata.append((client_info.METRICS_METADATA_KEY, self._x_goog_api_client))
154+
if final_metadata:
155+
kwargs["metadata"] = final_metadata
168156

169157
if self._compression is not None:
170158
kwargs["compression"] = compression

0 commit comments

Comments
 (0)