From 2d09667fa0d29741d406371d73a4cef0cfa1d322 Mon Sep 17 00:00:00 2001 From: vam-google Date: Mon, 17 May 2021 02:47:53 -0700 Subject: [PATCH 1/3] feat: Add `x-goog-api-client` header to rest clients Also add `Content-Type: application/json` header --- .../%sub/services/%service/transports/base.py.j2 | 6 ++++++ .../%sub/services/%service/transports/rest.py.j2 | 3 +++ gapic/templates/setup.py.j2 | 2 +- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/gapic/templates/%namespace/%name_%version/%sub/services/%service/transports/base.py.j2 b/gapic/templates/%namespace/%name_%version/%sub/services/%service/transports/base.py.j2 index 819448a18b..967a416c0c 100644 --- a/gapic/templates/%namespace/%name_%version/%sub/services/%service/transports/base.py.j2 +++ b/gapic/templates/%namespace/%name_%version/%sub/services/%service/transports/base.py.j2 @@ -33,6 +33,12 @@ try: gapic_version=pkg_resources.get_distribution( '{{ api.naming.warehouse_package_name }}', ).version, + {% if 'grpc' not in opts.transport %} + grpc_version=None, + {% endif %} + {% if 'rest' in opts.transport %} + rest_version=pkg_resources.get_distribution("requests").version, + {% endif %} ) except pkg_resources.DistributionNotFound: DEFAULT_CLIENT_INFO = gapic_v1.client_info.ClientInfo() diff --git a/gapic/templates/%namespace/%name_%version/%sub/services/%service/transports/rest.py.j2 b/gapic/templates/%namespace/%name_%version/%sub/services/%service/transports/rest.py.j2 index 24af43d763..fba897f68f 100644 --- a/gapic/templates/%namespace/%name_%version/%sub/services/%service/transports/rest.py.j2 +++ b/gapic/templates/%namespace/%name_%version/%sub/services/%service/transports/rest.py.j2 @@ -207,8 +207,11 @@ class {{ service.name }}RestTransport({{ service.name }}Transport): url += '?{}'.format('&'.join(query_params)).replace(' ', '+') # Send the request + headers = dict(metadata) + headers['Content-Type'] = 'application/json' response = self._session.{{ method.http_opt['verb'] }}( url, + headers=headers, {% if 'body' in method.http_opt %} data=body, {% endif %} diff --git a/gapic/templates/setup.py.j2 b/gapic/templates/setup.py.j2 index 9c97573fc0..2dc389be2c 100644 --- a/gapic/templates/setup.py.j2 +++ b/gapic/templates/setup.py.j2 @@ -27,7 +27,7 @@ setuptools.setup( platforms='Posix; MacOS X; Windows', include_package_data=True, install_requires=( - 'google-api-core[grpc] >= 1.22.2, < 2.0.0dev', + 'google-api-core[grpc] >= 1.27.0, < 2.0.0dev', 'libcst >= 0.2.5', 'proto-plus >= 1.15.0', 'packaging >= 14.3', From 34f9d9790d38246c98e87868dbbd51fc4f228ed1 Mon Sep 17 00:00:00 2001 From: vam-google Date: Tue, 18 May 2021 16:11:48 -0700 Subject: [PATCH 2/3] address PR feedback --- .../%sub/services/%service/transports/base.py.j2 | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gapic/templates/%namespace/%name_%version/%sub/services/%service/transports/base.py.j2 b/gapic/templates/%namespace/%name_%version/%sub/services/%service/transports/base.py.j2 index 967a416c0c..e61b100aba 100644 --- a/gapic/templates/%namespace/%name_%version/%sub/services/%service/transports/base.py.j2 +++ b/gapic/templates/%namespace/%name_%version/%sub/services/%service/transports/base.py.j2 @@ -6,6 +6,9 @@ import abc from typing import Awaitable, Callable, Dict, Optional, Sequence, Union import packaging.version import pkg_resources +{% if 'rest' in opts.transport %} +from requests import __version__ as requests_version +{% endif %} import google.auth # type: ignore import google.api_core # type: ignore @@ -37,7 +40,7 @@ try: grpc_version=None, {% endif %} {% if 'rest' in opts.transport %} - rest_version=pkg_resources.get_distribution("requests").version, + rest_version=requests_version, {% endif %} ) except pkg_resources.DistributionNotFound: From c5f4ce3fd083d4d80ca5c7761b3e76c4565f1e35 Mon Sep 17 00:00:00 2001 From: vam-google Date: Thu, 20 May 2021 15:40:06 -0700 Subject: [PATCH 3/3] make api-core 1.27.0 minimum requirement --- gapic/templates/setup.py.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gapic/templates/setup.py.j2 b/gapic/templates/setup.py.j2 index 07d9535c6a..2dc389be2c 100644 --- a/gapic/templates/setup.py.j2 +++ b/gapic/templates/setup.py.j2 @@ -27,7 +27,7 @@ setuptools.setup( platforms='Posix; MacOS X; Windows', include_package_data=True, install_requires=( - 'google-api-core[grpc] >= 1.26.0, < 2.0.0dev', + 'google-api-core[grpc] >= 1.27.0, < 2.0.0dev', 'libcst >= 0.2.5', 'proto-plus >= 1.15.0', 'packaging >= 14.3',