Skip to content

Commit 7b4c1e7

Browse files
authored
Merge pull request #39 from Authress/resolve-package-version
Resolve the package version in all http calls.
2 parents 3902d33 + 9e2d2e7 commit 7b4c1e7

File tree

4 files changed

+31
-9
lines changed

4 files changed

+31
-9
lines changed

authress/api/token_verifier.py

+8-2
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,12 @@
88
from urllib.parse import urlparse
99

1010
from authress import rest
11-
from authress.utils import service_client_token_provider
11+
from authress.utils import service_client_token_provider, PackageVersionProvider
1212

1313
class TokenVerifier(object):
1414
def __init__(self):
1515
self.keyMap = dict()
16+
self.package_version_provider = PackageVersionProvider()
1617

1718
def verify_token(self, authressCustomDomain, token, options=None):
1819
sanitized_domain = re.sub(r"https?://", "", authressCustomDomain)
@@ -73,7 +74,12 @@ def get_public_key(self, jwkKeyListUrl, kid):
7374

7475
def get_key_uncached(self, jwkKeyListUrl, kid):
7576
rest_client = rest.RESTClientObject()
76-
result = rest_client.get_request(jwkKeyListUrl)
77+
78+
version = self.package_version_provider.get_version()
79+
headers = {
80+
'User-Agent': f'Authress SDK; Python; {version};'
81+
}
82+
result = rest_client.get_request(jwkKeyListUrl, headers=headers)
7783

7884
for index, key in enumerate(json.loads(result.data)['keys']):
7985
if key['kid'] == kid:

authress/http_client.py

+5-7
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
from urllib.parse import quote
1515

1616
from authress.api_response import ApiResponse
17-
from authress.utils import service_client_token_provider
17+
from authress.utils import service_client_token_provider, PackageVersionProvider
1818
import authress.models
1919
from authress import rest
2020
from authress.exceptions import ApiValueError, ApiException, ServiceException
@@ -58,11 +58,9 @@ def __init__(self, host=None, access_key=None):
5858
self.client_side_validation = False
5959

6060
self.service_client_token_provider = service_client_token_provider.ServiceClientTokenProvider(self.access_key, self.host)
61-
62-
this_directory = os.path.abspath(os.path.dirname(__file__))
63-
with open(os.path.join(this_directory, 'VERSION')) as version_file:
64-
VERSION = version_file.read().strip()
65-
self.default_headers['User-Agent'] = f'Authress SDK; Python; {VERSION};'
61+
62+
version = PackageVersionProvider().get_version()
63+
self.default_headers['User-Agent'] = f'Authress SDK; Python; {version};'
6664

6765
def set_token(self, token):
6866
self.default_headers['Authorization'] = f'Bearer {token.replace("Bearer", "").strip()}'
@@ -204,7 +202,7 @@ def __call_api(
204202

205203
self.last_response = response_data
206204

207-
return_data = None # assuming derialization is not needed
205+
return_data = None # assuming deserialization is not needed
208206
# data needs deserialization or returns HTTP data (deserialized) only
209207
if _preload_content or _return_http_data_only:
210208
response_type = response_types_map.get(str(response_data.status), None)

authress/utils/__init__.py

+1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
# flake8: noqa
22

33
from authress.utils.jwt_manager import JwtManager
4+
from authress.utils.package_version_provider import PackageVersionProvider
45
from authress.utils.service_client_token_provider import ServiceClientTokenProvider
+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import os
2+
3+
class PackageVersionProvider:
4+
def __init__(self):
5+
self.version = None
6+
7+
def get_version(self):
8+
if self.version is None:
9+
try:
10+
this_directory = os.path.abspath(os.path.dirname(__file__))
11+
with open(os.path.join(this_directory, '..', 'VERSION')) as version_file:
12+
self.version = version_file.read().strip()
13+
except Exception as e:
14+
return 'InvalidPackageVersion'
15+
16+
return self.version
17+

0 commit comments

Comments
 (0)