Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 15aca6b

Browse files
authored
feat: Add support for rest/ token in x-goog-api-client header (#189)
1 parent 03a79f1 commit 15aca6b

File tree

2 files changed

+26
-1
lines changed

2 files changed

+26
-1
lines changed

google/api_core/client_info.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ class ClientInfo(object):
5454
user_agent (Optional[str]): Prefix to the user agent header. This is
5555
used to supply information such as application name or partner tool.
5656
Recommended format: ``application-or-tool-ID/major.minor.version``.
57+
rest_version (Optional[str]): The requests library version.
5758
"""
5859

5960
def __init__(
@@ -64,13 +65,15 @@ def __init__(
6465
gapic_version=None,
6566
client_library_version=None,
6667
user_agent=None,
68+
rest_version=None,
6769
):
6870
self.python_version = python_version
6971
self.grpc_version = grpc_version
7072
self.api_core_version = api_core_version
7173
self.gapic_version = gapic_version
7274
self.client_library_version = client_library_version
7375
self.user_agent = user_agent
76+
self.rest_version = rest_version
7477

7578
def to_user_agent(self):
7679
"""Returns the user-agent string for this client info."""
@@ -87,6 +90,9 @@ def to_user_agent(self):
8790
if self.grpc_version is not None:
8891
ua += "grpc/{grpc_version} "
8992

93+
if self.rest_version is not None:
94+
ua += "rest/{rest_version} "
95+
9096
ua += "gax/{api_core_version} "
9197

9298
if self.gapic_version is not None:

tests/unit/test_client_info.py

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ def test_constructor_defaults():
2424
assert info.api_core_version is not None
2525
assert info.gapic_version is None
2626
assert info.client_library_version is None
27+
assert info.rest_version is None
2728

2829

2930
def test_constructor_options():
@@ -33,7 +34,8 @@ def test_constructor_options():
3334
api_core_version="3",
3435
gapic_version="4",
3536
client_library_version="5",
36-
user_agent="6"
37+
user_agent="6",
38+
rest_version="7",
3739
)
3840

3941
assert info.python_version == "1"
@@ -42,6 +44,7 @@ def test_constructor_options():
4244
assert info.gapic_version == "4"
4345
assert info.client_library_version == "5"
4446
assert info.user_agent == "6"
47+
assert info.rest_version == "7"
4548

4649

4750
def test_to_user_agent_minimal():
@@ -67,3 +70,19 @@ def test_to_user_agent_full():
6770
user_agent = info.to_user_agent()
6871

6972
assert user_agent == "app-name/1.0 gl-python/1 grpc/2 gax/3 gapic/4 gccl/5"
73+
74+
75+
def test_to_user_agent_rest():
76+
info = client_info.ClientInfo(
77+
python_version="1",
78+
grpc_version=None,
79+
rest_version="2",
80+
api_core_version="3",
81+
gapic_version="4",
82+
client_library_version="5",
83+
user_agent="app-name/1.0",
84+
)
85+
86+
user_agent = info.to_user_agent()
87+
88+
assert user_agent == "app-name/1.0 gl-python/1 rest/2 gax/3 gapic/4 gccl/5"

0 commit comments

Comments
 (0)