Skip to content

Commit b9053d9

Browse files
committed
Revisions per comments
1 parent 5b7e256 commit b9053d9

File tree

4 files changed

+48
-17
lines changed

4 files changed

+48
-17
lines changed

aws_lambda_powertools/utilities/data_masking/base.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,10 @@ def _apply_action(self, data, fields, action, *args, **kwargs):
2929
def _use_ast(self, data: Union[dict, str], fields, action, *args, **kwargs) -> str:
3030
if fields is None:
3131
raise ValueError("No fields specified.")
32+
3233
if isinstance(data, str):
3334
# Parse JSON string as dictionary
3435
my_dict_parsed = json.loads(data)
35-
3636
elif isinstance(data, dict):
3737
# Turn into json string so everything has quotes around it
3838
my_dict_parsed = json.dumps(data)

aws_lambda_powertools/utilities/data_masking/provider.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from abc import abstractmethod
22
from collections.abc import Iterable
33

4-
from aws_lambda_powertools.shared.constants import DATA_MASKING_STRING as MASK
4+
from aws_lambda_powertools.shared.constants import DATA_MASKING_STRING
55

66

77
class Provider:
@@ -20,7 +20,7 @@ def decrypt(self, data):
2020

2121
def mask(self, data):
2222
if isinstance(data, (str, dict, bytes)):
23-
return MASK
23+
return DATA_MASKING_STRING
2424
elif isinstance(data, Iterable):
25-
return type(data)([MASK] * len(data))
26-
return MASK
25+
return type(data)([DATA_MASKING_STRING] * len(data))
26+
return DATA_MASKING_STRING

aws_lambda_powertools/utilities/data_masking/providers/aws_encryption_sdk.py

+8-7
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,13 @@ def __call__(cls, *args, **kwargs):
2424
return cls._instances[cls]
2525

2626

27-
class AwsEncryptionSdkProvider(Provider, metaclass=SingletonMeta):
28-
CACHE_CAPACITY: int = 100
29-
MAX_ENTRY_AGE_SECONDS: float = 300.0
30-
MAX_MESSAGES: int = 200
31-
# NOTE: You can also set max messages/bytes per data key
27+
CACHE_CAPACITY: int = 100
28+
MAX_ENTRY_AGE_SECONDS: float = 300.0
29+
MAX_MESSAGES: int = 200
30+
# NOTE: You can also set max messages/bytes per data key
31+
3232

33+
class AwsEncryptionSdkProvider(Provider, metaclass=SingletonMeta):
3334
cache = LocalCryptoMaterialsCache(CACHE_CAPACITY)
3435
session = botocore.session.Session()
3536

@@ -40,8 +41,8 @@ def __init__(self, keys: List[str], client: Optional[EncryptionSDKClient] = None
4041
self.cache_cmm = CachingCryptoMaterialsManager(
4142
master_key_provider=self.key_provider,
4243
cache=self.cache,
43-
max_age=self.MAX_ENTRY_AGE_SECONDS,
44-
max_messages_encrypted=self.MAX_MESSAGES,
44+
max_age=MAX_ENTRY_AGE_SECONDS,
45+
max_messages_encrypted=MAX_MESSAGES,
4546
)
4647

4748
def encrypt(self, data: Union[bytes, str], *args, **kwargs) -> str:

aws_lambda_powertools/utilities/data_masking/providers/itsdangerous.py

+35-5
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,50 @@
44

55

66
class ItsDangerousProvider(Provider):
7-
def __init__(self, keys, salt=None):
7+
def __init__(
8+
self,
9+
keys,
10+
salt=None,
11+
serializer=None,
12+
serializer_kwargs=None,
13+
signer=None,
14+
signer_kwargs=None,
15+
fallback_signers=None,
16+
):
817
self.keys = keys
918
self.salt = salt
19+
self.serializer = serializer
20+
self.serializer_kwargs = serializer_kwargs
21+
self.signer = signer
22+
self.signer_kwargs = signer_kwargs
23+
self.fallback_signers = fallback_signers
1024

11-
def encrypt(self, data, **kwargs):
25+
def encrypt(self, data):
1226
if data is None:
1327
return data
1428

15-
serialized = URLSafeSerializer(self.keys, salt=self.salt, **kwargs)
29+
serialized = URLSafeSerializer(
30+
self.keys,
31+
salt=self.salt,
32+
serializer=None,
33+
serializer_kwargs=None,
34+
signer=None,
35+
signer_kwargs=None,
36+
fallback_signers=None,
37+
)
1638
return serialized.dumps(data)
1739

18-
def decrypt(self, data, **kwargs):
40+
def decrypt(self, data):
1941
if data is None:
2042
return data
2143

22-
serialized = URLSafeSerializer(self.keys, salt=self.salt, **kwargs)
44+
serialized = URLSafeSerializer(
45+
self.keys,
46+
salt=self.salt,
47+
serializer=None,
48+
serializer_kwargs=None,
49+
signer=None,
50+
signer_kwargs=None,
51+
fallback_signers=None,
52+
)
2353
return serialized.loads(data)

0 commit comments

Comments
 (0)