Skip to content

Commit 1b9331a

Browse files
committed
feat: add client debug logging support for unary-stream REST calls
1 parent a165ff3 commit 1b9331a

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed

gapic/templates/%namespace/%name_%version/%sub/services/%service/transports/rest.py.j2

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -258,17 +258,20 @@ class {{service.name}}RestTransport(_Base{{ service.name }}RestTransport):
258258
resp = self._interceptor.post_{{ method.name|snake_case }}(resp)
259259
response_metadata = [(k, str(v)) for k, v in response.headers.items()]
260260
resp, _ = self._interceptor.post_{{ method.name|snake_case }}_with_metadata(resp, response_metadata)
261-
{# TODO(https://github.com/googleapis/gapic-generator-python/issues/2279): Add logging support for rest streaming. #}
262-
{% if not method.server_streaming %}
263261
if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor(logging.DEBUG): # pragma: NO COVER
262+
{# Logging of response iterator is in google-api-core #}
263+
{% if not method.server_streaming %}
264264
try:
265265
response_payload = {% if method.output.ident.is_proto_plus_type %}{{ method.output.ident }}.to_json(response){% else %}json_format.MessageToJson(resp){% endif %}
266266

267267
except:
268268
{# TODO(https://github.com/googleapis/gapic-generator-python/issues/2283): Remove try/except once unit tests are updated. #}
269269
response_payload = None
270+
{% endif %}{# if not method.server_streaming #}
270271
http_response = {
272+
{% if not method.server_streaming %}
271273
"payload": response_payload,
274+
{% endif %}{# if not method.server_streaming #}
272275
"headers": dict(response.headers),
273276
"status": response.status_code,
274277
}
@@ -282,7 +285,6 @@ class {{service.name}}RestTransport(_Base{{ service.name }}RestTransport):
282285
"httpResponse": http_response,
283286
},
284287
)
285-
{% endif %}{# if not method.server_streaming #}
286288
return resp
287289

288290
{% endif %}{# method.void #}

gapic/templates/%namespace/%name_%version/%sub/services/%service/transports/rest_asyncio.py.j2

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -219,17 +219,20 @@ class Async{{service.name}}RestTransport(_Base{{ service.name }}RestTransport):
219219
resp = await self._interceptor.post_{{ method.name|snake_case }}(resp)
220220
response_metadata = [(k, str(v)) for k, v in response.headers.items()]
221221
resp, _ = await self._interceptor.post_{{ method.name|snake_case }}_with_metadata(resp, response_metadata)
222-
{# TODO(https://github.com/googleapis/gapic-generator-python/issues/2279): Add logging support for rest streaming. #}
223-
{% if not method.server_streaming %}
224222
if CLIENT_LOGGING_SUPPORTED and _LOGGER.isEnabledFor(logging.DEBUG): # pragma: NO COVER
223+
{# Logging of response iterator is in google-api-core #}
224+
{% if not method.server_streaming %}
225225
try:
226226
response_payload = {% if method.output.ident.is_proto_plus_type %}{{ method.output.ident }}.to_json(response){% else %}json_format.MessageToJson(resp){% endif %}
227227

228228
except:
229229
{# TODO(https://github.com/googleapis/gapic-generator-python/issues/2283): Remove try/except once unit tests are updated. #}
230230
response_payload = None
231+
{% endif %}{# if not method.server_streaming #}
231232
http_response = {
233+
{% if not method.server_streaming %}
232234
"payload": response_payload,
235+
{% endif %}{# if not method.server_streaming #}
233236
"headers": dict(response.headers),
234237
"status": "OK", # need to obtain this properly
235238
}
@@ -243,7 +246,6 @@ class Async{{service.name}}RestTransport(_Base{{ service.name }}RestTransport):
243246
},
244247
)
245248

246-
{% endif %}{# if not method.server_streaming #}
247249
return resp
248250

249251
{% endif %}{# method.void #}

0 commit comments

Comments
 (0)