Skip to content

Commit 597897c

Browse files
authored
feat: Implement custom user agent (#253)
* Add first attempt of custom user agent * Alter User-Agent value * Add emnify to SDK name * Modify user agent name * Add updated VCR with new user agent header
1 parent efee7c9 commit 597897c

3 files changed

Lines changed: 134 additions & 111 deletions

File tree

emnify/api_manager.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@ def _build_headers(token=''):
4444

4545
emnify_constants.RequestDefaultHeadersKeys.XEmnOriginAppVersion.value:
4646
emnify_constants.RequestDefaultHeadersValues.PYTHONSDK_VERSION.value,
47+
48+
emnify_constants.RequestDefaultHeadersKeys.USER_AGENT.value:
49+
emnify_constants.RequestDefaultHeadersValues.USER_AGENT.value
4750
}
4851

4952
def process_exception(self, response: requests.Response, client, data: dict = None, *args, **kwargs):

emnify/constants.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import platform
2+
import requests
13
from enum import Enum
24
from emnify.version import EMNIFY_PACKAGE_VERSION
35

@@ -39,13 +41,22 @@ class RequestDefaultHeadersKeys(ExtendedEnum):
3941
AUTHORIZATION = 'authorization'
4042
XEmnOriginApp = 'x-emn-origin-app'
4143
XEmnOriginAppVersion = 'x-emn-origin-app-version'
44+
USER_AGENT = 'User-Agent'
4245

4346

4447
class RequestDefaultHeadersValues(ExtendedEnum):
4548
APPLICATION_JSON = 'application/json'
4649
BEARER_TOKEN = 'Bearer {}'
4750
PYTHONSDK_VERSION = EMNIFY_PACKAGE_VERSION
48-
PYTHONSDK = 'PythonSDK'
51+
PYTHONSDK = 'emnifyPythonSDK'
52+
53+
name_and_version = f"{PYTHONSDK}/{PYTHONSDK_VERSION}"
54+
requests_user_agent = f" {requests.utils.default_user_agent()}"
55+
python_version = f"Python {platform.python_version()}"
56+
platform_info = f"{platform.system()}, {platform.release()}"
57+
details = f" ({python_version}, {platform_info})"
58+
59+
USER_AGENT = f"{name_and_version}{requests_user_agent}{details}"
4960

5061

5162
class DeviceStatuses(ExtendedEnum):

0 commit comments

Comments
 (0)