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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy