From cbea9092919e8a2c34a318180384ef4256a5f550 Mon Sep 17 00:00:00 2001 From: houk-ms Date: Sat, 10 Oct 2020 14:59:27 +0800 Subject: [PATCH 1/2] align az rest user-agent with python-sdk requests --- .../azure/cli/core/tests/test_util.py | 6 +++--- src/azure-cli-core/azure/cli/core/util.py | 18 +++++++++++++++++- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/azure-cli-core/azure/cli/core/tests/test_util.py b/src/azure-cli-core/azure/cli/core/tests/test_util.py index 5177f8806d1..821a3537063 100644 --- a/src/azure-cli-core/azure/cli/core/tests/test_util.py +++ b/src/azure-cli-core/azure/cli/core/tests/test_util.py @@ -15,7 +15,7 @@ from azure.cli.core.util import \ (get_file_json, truncate_text, shell_safe_json_parse, b64_to_hex, hash_string, random_string, open_page_in_browser, can_launch_browser, handle_exception, ConfiguredDefaultSetter, send_raw_request, - should_disable_connection_verify, parse_proxy_resource_id, get_az_user_agent) + should_disable_connection_verify, parse_proxy_resource_id, get_az_user_agent, get_az_rest_user_agent) from azure.cli.core.mock import DummyCli @@ -246,7 +246,7 @@ def test_send_raw_requests(self, send_mock, get_raw_token_mock): test_body = '{"b1": "v1"}' expected_header = { - 'User-Agent': get_az_user_agent(), + 'User-Agent': get_az_rest_user_agent(), 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', @@ -375,7 +375,7 @@ def test_send_raw_requests(self, send_mock, get_raw_token_mock): get_raw_token_mock.assert_called_with(mock.ANY, test_arm_active_directory_resource_id, subscription=subscription_id) request = send_mock.call_args.args[1] - self.assertEqual(request.headers['User-Agent'], get_az_user_agent() + ' env-ua ARG-UA') + self.assertEqual(request.headers['User-Agent'], get_az_rest_user_agent() + ' env-ua ARG-UA') class TestBase64ToHex(unittest.TestCase): diff --git a/src/azure-cli-core/azure/cli/core/util.py b/src/azure-cli-core/azure/cli/core/util.py index b566578010d..e2670bad351 100644 --- a/src/azure-cli-core/azure/cli/core/util.py +++ b/src/azure-cli-core/azure/cli/core/util.py @@ -791,7 +791,7 @@ def send_raw_request(cli_ctx, method, url, headers=None, uri_parameters=None, # skip_authorization_header = True # Handle User-Agent - agents = [get_az_user_agent()] + agents = [get_az_rest_user_agent()] # Borrow AZURE_HTTP_USER_AGENT from msrest # https://github.com/Azure/msrest-for-python/blob/4cc8bc84e96036f03b34716466230fb257e27b36/msrest/pipeline/universal.py#L70 @@ -1077,6 +1077,22 @@ def get_az_user_agent(): return ' '.join(agents) +def get_az_rest_user_agent(): + """Get User-Agent for az rest calls""" + + from msrest import __version__ as msrest_version + from msrestazure import __version__ as msrestazure_version + + agents = ['python/{}'.format(platform.python_version()), + '({})'.format(platform.platform()), + 'msrest/{}'.format(msrest_version), + 'msrest_azure/{}'.format(msrestazure_version), + get_az_user_agent() + ] + + return ' '.join(agents) + + def user_confirmation(message, yes=False): if yes: return From a01d034918f5ba08af0e5964521d26f84210c79c Mon Sep 17 00:00:00 2001 From: houk-ms Date: Thu, 22 Oct 2020 15:27:41 +0800 Subject: [PATCH 2/2] remove msrest and msrest_azure in az rest user agents --- src/azure-cli-core/azure/cli/core/util.py | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/azure-cli-core/azure/cli/core/util.py b/src/azure-cli-core/azure/cli/core/util.py index e2670bad351..72865edb1a6 100644 --- a/src/azure-cli-core/azure/cli/core/util.py +++ b/src/azure-cli-core/azure/cli/core/util.py @@ -1080,13 +1080,8 @@ def get_az_user_agent(): def get_az_rest_user_agent(): """Get User-Agent for az rest calls""" - from msrest import __version__ as msrest_version - from msrestazure import __version__ as msrestazure_version - agents = ['python/{}'.format(platform.python_version()), '({})'.format(platform.platform()), - 'msrest/{}'.format(msrest_version), - 'msrest_azure/{}'.format(msrestazure_version), get_az_user_agent() ]