Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -196,8 +196,9 @@ def _get_http_options():
body_spec (str): The http options body i.e. method.http_options[0].body
method_name (str): The method name.
service: The service.
is_async (bool): Used to determine the code path i.e. whether for sync or async call. #}
{% macro rest_call_method_common(body_spec, method_name, service, is_async=False, is_proto_plus_type=False) %}
is_async (bool): Used to determine the code path i.e. whether for sync or async call.
is_request_message_proto_plus_type (bool): Used to determine whether the request message is a proto-plus type. #}
{% macro rest_call_method_common(body_spec, method_name, service, is_async=False, is_request_message_proto_plus_type=False) %}
{% set service_name = service.name %}
{% set await_prefix = "await " if is_async else "" %}
{% set async_class_prefix = "Async" if is_async else "" %}
Expand All @@ -218,7 +219,7 @@ def _get_http_options():
request_url = "{host}{uri}".format(host=self._host, uri=transcoded_request['uri'])
method = transcoded_request['method']
try:
request_payload = {% if is_proto_plus_type %}type(request).to_json(request){% else %}json_format.MessageToJson(request){% endif %}
request_payload = {% if is_request_message_proto_plus_type %}type(request).to_json(request){% else %}json_format.MessageToJson(request){% endif %}

except:
{# TODO(https://github.com/googleapis/gapic-generator-python/issues/2282): Remove try/except and correctly parse request payload. #}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -240,7 +240,7 @@ class {{service.name}}RestTransport(_Base{{ service.name }}RestTransport):
{% endif %}
"""

{{ shared_macros.rest_call_method_common(body_spec, method.name, service, False, method.output.ident.is_proto_plus_type)|indent(8) }}
{{ shared_macros.rest_call_method_common(body_spec, method.name, service, False, method.input.ident.is_proto_plus_type)|indent(8) }}

{% if not method.void %}
# Return the response
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@ class Async{{service.name}}RestTransport(_Base{{ service.name }}RestTransport):
{% endif %}
"""

{{ shared_macros.rest_call_method_common(body_spec, method.name, service, True, method.output.ident.is_proto_plus_type)|indent(8) }}
{{ shared_macros.rest_call_method_common(body_spec, method.name, service, True, method.input.ident.is_proto_plus_type)|indent(8) }}

{% if not method.void %}
# Return the response
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1368,7 +1368,7 @@ def __call__(self,
request_url = "{host}{uri}".format(host=self._host, uri=transcoded_request['uri'])
method = transcoded_request['method']
try:
request_payload = json_format.MessageToJson(request)
request_payload = type(request).to_json(request)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

The except: on the next line is a bare except, which is a bad practice as it catches all exceptions, including system-exiting ones like SystemExit and KeyboardInterrupt. This can make debugging difficult and hide underlying issues. It would be better to catch a more specific exception, like Exception.

While there's a TODO in the template to remove this try/except block, improving it in the meantime would be beneficial.

This change should be applied to the template file: gapic/templates/%namespace/%name_%version/%sub/services/%service/_shared_macros.j2.

Suggested change in the template:

        except Exception:

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ack. I'm hesitant to change this now but I'll file a bug to follow up on it.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Filed #2550 to fix this throughout the code base

except:
request_payload = None
http_request = {
Expand Down Expand Up @@ -2467,7 +2467,7 @@ def __call__(self,
request_url = "{host}{uri}".format(host=self._host, uri=transcoded_request['uri'])
method = transcoded_request['method']
try:
request_payload = json_format.MessageToJson(request)
request_payload = type(request).to_json(request)
except:
request_payload = None
http_request = {
Expand Down Expand Up @@ -2552,7 +2552,7 @@ def __call__(self,
request_url = "{host}{uri}".format(host=self._host, uri=transcoded_request['uri'])
method = transcoded_request['method']
try:
request_payload = json_format.MessageToJson(request)
request_payload = type(request).to_json(request)
except:
request_payload = None
http_request = {
Expand Down Expand Up @@ -2647,7 +2647,7 @@ def __call__(self,
request_url = "{host}{uri}".format(host=self._host, uri=transcoded_request['uri'])
method = transcoded_request['method']
try:
request_payload = json_format.MessageToJson(request)
request_payload = type(request).to_json(request)
except:
request_payload = None
http_request = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1286,7 +1286,7 @@ def __call__(self,
request_url = "{host}{uri}".format(host=self._host, uri=transcoded_request['uri'])
method = transcoded_request['method']
try:
request_payload = json_format.MessageToJson(request)
request_payload = type(request).to_json(request)
except:
request_payload = None
http_request = {
Expand Down Expand Up @@ -1410,7 +1410,7 @@ def __call__(self,
request_url = "{host}{uri}".format(host=self._host, uri=transcoded_request['uri'])
method = transcoded_request['method']
try:
request_payload = json_format.MessageToJson(request)
request_payload = type(request).to_json(request)
except:
request_payload = None
http_request = {
Expand Down Expand Up @@ -1534,7 +1534,7 @@ def __call__(self,
request_url = "{host}{uri}".format(host=self._host, uri=transcoded_request['uri'])
method = transcoded_request['method']
try:
request_payload = json_format.MessageToJson(request)
request_payload = type(request).to_json(request)
except:
request_payload = None
http_request = {
Expand Down Expand Up @@ -1655,7 +1655,7 @@ def __call__(self,
request_url = "{host}{uri}".format(host=self._host, uri=transcoded_request['uri'])
method = transcoded_request['method']
try:
request_payload = json_format.MessageToJson(request)
request_payload = type(request).to_json(request)
except:
request_payload = None
http_request = {
Expand Down Expand Up @@ -1776,7 +1776,7 @@ def __call__(self,
request_url = "{host}{uri}".format(host=self._host, uri=transcoded_request['uri'])
method = transcoded_request['method']
try:
request_payload = json_format.MessageToJson(request)
request_payload = type(request).to_json(request)
except:
request_payload = None
http_request = {
Expand Down Expand Up @@ -1897,7 +1897,7 @@ def __call__(self,
request_url = "{host}{uri}".format(host=self._host, uri=transcoded_request['uri'])
method = transcoded_request['method']
try:
request_payload = json_format.MessageToJson(request)
request_payload = type(request).to_json(request)
except:
request_payload = None
http_request = {
Expand Down Expand Up @@ -3130,7 +3130,7 @@ def __call__(self,
request_url = "{host}{uri}".format(host=self._host, uri=transcoded_request['uri'])
method = transcoded_request['method']
try:
request_payload = json_format.MessageToJson(request)
request_payload = type(request).to_json(request)
except:
request_payload = None
http_request = {
Expand Down Expand Up @@ -3386,7 +3386,7 @@ def __call__(self,
request_url = "{host}{uri}".format(host=self._host, uri=transcoded_request['uri'])
method = transcoded_request['method']
try:
request_payload = json_format.MessageToJson(request)
request_payload = type(request).to_json(request)
except:
request_payload = None
http_request = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -952,7 +952,7 @@ def __call__(self,
request_url = "{host}{uri}".format(host=self._host, uri=transcoded_request['uri'])
method = transcoded_request['method']
try:
request_payload = json_format.MessageToJson(request)
request_payload = type(request).to_json(request)
except:
request_payload = None
http_request = {
Expand Down Expand Up @@ -1073,7 +1073,7 @@ def __call__(self,
request_url = "{host}{uri}".format(host=self._host, uri=transcoded_request['uri'])
method = transcoded_request['method']
try:
request_payload = json_format.MessageToJson(request)
request_payload = type(request).to_json(request)
except:
request_payload = None
http_request = {
Expand Down Expand Up @@ -1197,7 +1197,7 @@ def __call__(self,
request_url = "{host}{uri}".format(host=self._host, uri=transcoded_request['uri'])
method = transcoded_request['method']
try:
request_payload = json_format.MessageToJson(request)
request_payload = type(request).to_json(request)
except:
request_payload = None
http_request = {
Expand Down Expand Up @@ -1321,7 +1321,7 @@ def __call__(self,
request_url = "{host}{uri}".format(host=self._host, uri=transcoded_request['uri'])
method = transcoded_request['method']
try:
request_payload = json_format.MessageToJson(request)
request_payload = type(request).to_json(request)
except:
request_payload = None
http_request = {
Expand Down Expand Up @@ -1685,7 +1685,7 @@ def __call__(self,
request_url = "{host}{uri}".format(host=self._host, uri=transcoded_request['uri'])
method = transcoded_request['method']
try:
request_payload = json_format.MessageToJson(request)
request_payload = type(request).to_json(request)
except:
request_payload = None
http_request = {
Expand Down Expand Up @@ -1931,7 +1931,7 @@ def __call__(self,
request_url = "{host}{uri}".format(host=self._host, uri=transcoded_request['uri'])
method = transcoded_request['method']
try:
request_payload = json_format.MessageToJson(request)
request_payload = type(request).to_json(request)
except:
request_payload = None
http_request = {
Expand Down Expand Up @@ -2055,7 +2055,7 @@ def __call__(self,
request_url = "{host}{uri}".format(host=self._host, uri=transcoded_request['uri'])
method = transcoded_request['method']
try:
request_payload = json_format.MessageToJson(request)
request_payload = type(request).to_json(request)
except:
request_payload = None
http_request = {
Expand Down Expand Up @@ -2179,7 +2179,7 @@ def __call__(self,
request_url = "{host}{uri}".format(host=self._host, uri=transcoded_request['uri'])
method = transcoded_request['method']
try:
request_payload = json_format.MessageToJson(request)
request_payload = type(request).to_json(request)
except:
request_payload = None
http_request = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -981,7 +981,7 @@ async def __call__(self,
request_url = "{host}{uri}".format(host=self._host, uri=transcoded_request['uri'])
method = transcoded_request['method']
try:
request_payload = json_format.MessageToJson(request)
request_payload = type(request).to_json(request)
except:
request_payload = None
http_request = {
Expand Down Expand Up @@ -1108,7 +1108,7 @@ async def __call__(self,
request_url = "{host}{uri}".format(host=self._host, uri=transcoded_request['uri'])
method = transcoded_request['method']
try:
request_payload = json_format.MessageToJson(request)
request_payload = type(request).to_json(request)
except:
request_payload = None
http_request = {
Expand Down Expand Up @@ -1238,7 +1238,7 @@ async def __call__(self,
request_url = "{host}{uri}".format(host=self._host, uri=transcoded_request['uri'])
method = transcoded_request['method']
try:
request_payload = json_format.MessageToJson(request)
request_payload = type(request).to_json(request)
except:
request_payload = None
http_request = {
Expand Down Expand Up @@ -1368,7 +1368,7 @@ async def __call__(self,
request_url = "{host}{uri}".format(host=self._host, uri=transcoded_request['uri'])
method = transcoded_request['method']
try:
request_payload = json_format.MessageToJson(request)
request_payload = type(request).to_json(request)
except:
request_payload = None
http_request = {
Expand Down Expand Up @@ -1746,7 +1746,7 @@ async def __call__(self,
request_url = "{host}{uri}".format(host=self._host, uri=transcoded_request['uri'])
method = transcoded_request['method']
try:
request_payload = json_format.MessageToJson(request)
request_payload = type(request).to_json(request)
except:
request_payload = None
http_request = {
Expand Down Expand Up @@ -2002,7 +2002,7 @@ async def __call__(self,
request_url = "{host}{uri}".format(host=self._host, uri=transcoded_request['uri'])
method = transcoded_request['method']
try:
request_payload = json_format.MessageToJson(request)
request_payload = type(request).to_json(request)
except:
request_payload = None
http_request = {
Expand Down Expand Up @@ -2132,7 +2132,7 @@ async def __call__(self,
request_url = "{host}{uri}".format(host=self._host, uri=transcoded_request['uri'])
method = transcoded_request['method']
try:
request_payload = json_format.MessageToJson(request)
request_payload = type(request).to_json(request)
except:
request_payload = None
http_request = {
Expand Down Expand Up @@ -2262,7 +2262,7 @@ async def __call__(self,
request_url = "{host}{uri}".format(host=self._host, uri=transcoded_request['uri'])
method = transcoded_request['method']
try:
request_payload = json_format.MessageToJson(request)
request_payload = type(request).to_json(request)
except:
request_payload = None
http_request = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -688,7 +688,7 @@ def __call__(self,
request_url = "{host}{uri}".format(host=self._host, uri=transcoded_request['uri'])
method = transcoded_request['method']
try:
request_payload = json_format.MessageToJson(request)
request_payload = type(request).to_json(request)
except:
request_payload = None
http_request = {
Expand Down Expand Up @@ -809,7 +809,7 @@ def __call__(self,
request_url = "{host}{uri}".format(host=self._host, uri=transcoded_request['uri'])
method = transcoded_request['method']
try:
request_payload = json_format.MessageToJson(request)
request_payload = type(request).to_json(request)
except:
request_payload = None
http_request = {
Expand Down Expand Up @@ -1175,7 +1175,7 @@ def __call__(self,
request_url = "{host}{uri}".format(host=self._host, uri=transcoded_request['uri'])
method = transcoded_request['method']
try:
request_payload = json_format.MessageToJson(request)
request_payload = type(request).to_json(request)
except:
request_payload = None
http_request = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -687,7 +687,7 @@ async def __call__(self,
request_url = "{host}{uri}".format(host=self._host, uri=transcoded_request['uri'])
method = transcoded_request['method']
try:
request_payload = json_format.MessageToJson(request)
request_payload = type(request).to_json(request)
except:
request_payload = None
http_request = {
Expand Down Expand Up @@ -814,7 +814,7 @@ async def __call__(self,
request_url = "{host}{uri}".format(host=self._host, uri=transcoded_request['uri'])
method = transcoded_request['method']
try:
request_payload = json_format.MessageToJson(request)
request_payload = type(request).to_json(request)
except:
request_payload = None
http_request = {
Expand Down Expand Up @@ -1194,7 +1194,7 @@ async def __call__(self,
request_url = "{host}{uri}".format(host=self._host, uri=transcoded_request['uri'])
method = transcoded_request['method']
try:
request_payload = json_format.MessageToJson(request)
request_payload = type(request).to_json(request)
except:
request_payload = None
http_request = {
Expand Down
Loading