Skip to content

Commit

Permalink
Merge pull request #556 from girardinsamuel/fix/nested-post-inputs
Browse files Browse the repository at this point in the history
Fixed accessing `nested` input from requests with `application/json` content type
  • Loading branch information
girardinsamuel committed Mar 8, 2022
2 parents a414f20 + 112d75b commit 5df9fa8
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 5 deletions.
10 changes: 5 additions & 5 deletions src/masonite/input/InputBag.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ def parse(self, environ):
pass
else:
for name, value in json.loads(request_body or "{}").items():
self.post_data.update({name: Input(name, value)})
self.post_data.update({name: value})

elif "application/x-www-form-urlencoded" in environ.get("CONTENT_TYPE", ""):
try:
Expand Down Expand Up @@ -73,11 +73,11 @@ def parse(self, environ):
files = []
k = 0
for item in value:
files.append(UploadedFile(fields[name][k].filename, value[k]))
files.append(
UploadedFile(fields[name][k].filename, value[k])
)
k += 1
self.post_data.update(
{name: files}
)
self.post_data.update({name: files})
elif isinstance(value, bytes):
self.post_data.update(
{name: [UploadedFile(fields[name].filename, value)]}
Expand Down
1 change: 1 addition & 0 deletions tests/core/request/test_input.py
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,7 @@ def test_can_parse_nested_post_data(self):
bag = InputBag()
bag.load(
{
"CONTENT_TYPE": "application/json",
"CONTENT_LENGTH": len(str(json.dumps(data))),
"wsgi.input": io.BytesIO(bytes(json.dumps(data), "utf-8")),
}
Expand Down

0 comments on commit 5df9fa8

Please sign in to comment.