Cache request.json even when it's null or empty

In case of request body is set to `{}`, `[]` or `null`, even it's
already processed, parsed_json won't be used due to its boolean
evaluation.
This commit is contained in:
Hyunjun Kim 2017-01-02 14:20:20 +09:00
parent 552ff9d736
commit 035cbf84ae

View File

@ -56,7 +56,7 @@ class Request(dict):
# Init but do not inhale # Init but do not inhale
self.body = None self.body = None
self.parsed_json = None self.parsed_json = ...
self.parsed_form = None self.parsed_form = None
self.parsed_files = None self.parsed_files = None
self.parsed_args = None self.parsed_args = None
@ -64,7 +64,7 @@ class Request(dict):
@property @property
def json(self): def json(self):
if not self.parsed_json: if self.parsed_json is ...:
try: try:
self.parsed_json = json_loads(self.body) self.parsed_json = json_loads(self.body)
except Exception: except Exception: