Skip to content

Commit 19a0099

Browse files
committed
keep default metadata stored in client init
1 parent 978b267 commit 19a0099

1 file changed

Lines changed: 11 additions & 6 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: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,15 @@ def __init__(
117117
self._compression = compression
118118
# Pre-extract the x-goog-api-client header from the initialized metadata.
119119
remaining_metadata, x_goog_api_client = _extract_metrics_header(metadata)
120-
self._init_metadata = tuple(remaining_metadata)
120+
self._static_metadata = tuple(remaining_metadata)
121121
self._x_goog_api_client = x_goog_api_client
122+
if x_goog_api_client:
123+
self._default_metadata = (
124+
(client_info.METRICS_METADATA_KEY, x_goog_api_client),
125+
*self._static_metadata
126+
)
127+
else:
128+
self._default_metadata = self._static_metadata
122129

123130
def __call__(
124131
self, *args, timeout=DEFAULT, retry=DEFAULT, compression=DEFAULT, **kwargs
@@ -141,18 +148,16 @@ def __call__(
141148
wrapped_func = _apply_decorators(self._target, [retry, timeout])
142149

143150
# Add the user agent metadata to the call.
144-
final_metadata = list(self._init_metadata)
145151
if user_metadata := kwargs.get("metadata"):
152+
final_metadata = list(self._static_metadata)
146153
remaining, user_x_goog = _extract_metrics_header(user_metadata)
147154
api_client_tokens = [t for t in [user_x_goog, self._x_goog_api_client] if t]
148155
if api_client_tokens:
149156
final_metadata.append((client_info.METRICS_METADATA_KEY, " ".join(api_client_tokens)))
150157
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:
155158
kwargs["metadata"] = final_metadata
159+
elif self._default_metadata:
160+
kwargs["metadata"] = self._default_metadata
156161

157162
if self._compression is not None:
158163
kwargs["compression"] = compression

0 commit comments

Comments
 (0)