Skip to content

Commit 9a52b9b

Browse files
Merge remote-tracking branch 'upstream/master'
2 parents f178925 + c7e5fb1 commit 9a52b9b

File tree

1 file changed

+19
-16
lines changed

1 file changed

+19
-16
lines changed

src/aws_secretsmanager_caching/decorators.py

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -42,19 +42,20 @@ def __call__(self, func):
4242
:return The function with the injected argument.
4343
"""
4444

45-
secret = self.cache.get_secret_string(secret_id=self.secret_id)
46-
4745
# Using functools.wraps preserves the metadata of the wrapped function
4846
@wraps(func)
4947
def _wrapped_func(*args, **kwargs):
5048
"""
5149
Internal function to execute wrapped function
5250
"""
51+
secret = self.cache.get_secret_string(secret_id=self.secret_id)
52+
5353
# Prevent clobbering self arg in class methods
5454
if args and hasattr(args[0].__class__, func.__name__):
5555
new_args = (args[0], secret) + args[1:]
5656
else:
5757
new_args = (secret,) + args
58+
5859
return func(*new_args, **kwargs)
5960

6061
return _wrapped_func
@@ -91,25 +92,27 @@ def __call__(self, func):
9192
:return The original function with injected keyword arguments
9293
"""
9394

94-
try:
95-
secret = json.loads(self.cache.get_secret_string(secret_id=self.secret_id))
96-
except json.decoder.JSONDecodeError:
97-
raise RuntimeError("Cached secret is not valid JSON") from None
98-
99-
resolved_kwargs = {}
100-
for orig_kwarg, secret_key in self.kwarg_map.items():
101-
try:
102-
resolved_kwargs[orig_kwarg] = secret[secret_key]
103-
except KeyError:
104-
raise RuntimeError(
105-
f"Cached secret does not contain key {secret_key}"
106-
) from None
107-
10895
@wraps(func)
10996
def _wrapped_func(*args, **kwargs):
11097
"""
11198
Internal function to execute wrapped function
11299
"""
100+
try:
101+
secret = json.loads(
102+
self.cache.get_secret_string(secret_id=self.secret_id)
103+
)
104+
except json.decoder.JSONDecodeError:
105+
raise RuntimeError("Cached secret is not valid JSON") from None
106+
107+
resolved_kwargs = {}
108+
for orig_kwarg, secret_key in self.kwarg_map.items():
109+
try:
110+
resolved_kwargs[orig_kwarg] = secret[secret_key]
111+
except KeyError:
112+
raise RuntimeError(
113+
f"Cached secret does not contain key {secret_key}"
114+
) from None
115+
113116
return func(*args, **resolved_kwargs, **kwargs)
114117

115118
return _wrapped_func

0 commit comments

Comments
 (0)