Skip to content

Commit e8f665f

Browse files
author
Michael Brewer
committed
Merge branch 'develop' into chore-housekeeping
2 parents 3e8224e + 1135314 commit e8f665f

File tree

4 files changed

+18
-6
lines changed

4 files changed

+18
-6
lines changed

Diff for: aws_lambda_powertools/utilities/data_classes/common.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ def body(self) -> Optional[str]:
6565
@property
6666
def json_body(self) -> Any:
6767
"""Parses the submitted body as json"""
68-
return json.loads(self["body"])
68+
return json.loads(self.decoded_body)
6969

7070
@property
7171
def decoded_body(self) -> str:

Diff for: poetry.lock

+4-4
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: pyproject.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ radon = "^4.5.0"
4949
xenon = "^0.7.3"
5050
flake8-eradicate = "^1.1.0"
5151
flake8-bugbear = "^21.3.2"
52-
mkdocs-material = "^7.2.0"
52+
mkdocs-material = "^7.2.1"
5353
mkdocs-git-revision-date-plugin = "^0.3.1"
5454
mike = "^0.6.0"
5555
mypy = "^0.910"

Diff for: tests/functional/test_data_classes.py

+12
Original file line numberDiff line numberDiff line change
@@ -1037,6 +1037,18 @@ def test_base_proxy_event_decode_body_encoded_true():
10371037
assert event.decoded_body == data
10381038

10391039

1040+
def test_base_proxy_event_json_body_with_base64_encoded_data():
1041+
# GIVEN a base64 encoded json body
1042+
data = {"message": "Foo"}
1043+
data_str = json.dumps(data)
1044+
encoded_data = base64.b64encode(data_str.encode()).decode()
1045+
event = BaseProxyEvent({"body": encoded_data, "isBase64Encoded": True})
1046+
1047+
# WHEN calling json_body
1048+
# THEN then base64 decode and json load
1049+
assert event.json_body == data
1050+
1051+
10401052
def test_kinesis_stream_event():
10411053
event = KinesisStreamEvent(load_event("kinesisStreamEvent.json"))
10421054

0 commit comments

Comments
 (0)