From da32f23e35f871470a40638e7000e84b0ff6d17f Mon Sep 17 00:00:00 2001 From: Miguel Grinberg Date: Mon, 2 Aug 2021 15:39:32 +0100 Subject: [PATCH] Better handling of content types in form and json methods (Fixes #24) --- src/microdot.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/microdot.py b/src/microdot.py index de6009b..dc51ef2 100644 --- a/src/microdot.py +++ b/src/microdot.py @@ -267,20 +267,23 @@ class Request(): @property def json(self): - if self.content_type != 'application/json': - return None if self._json is None: + if self.content_type is None: + return None + mime_type = self.content_type.split(';')[0] + if mime_type != 'application/json': + return None self._json = json.loads(self.body.decode()) return self._json @property def form(self): - if self.content_type is None: - return None - mime_type = self.content_type.split(';')[0] - if mime_type != 'application/x-www-form-urlencoded': - return None if self._form is None: + if self.content_type is None: + return None + mime_type = self.content_type.split(';')[0] + if mime_type != 'application/x-www-form-urlencoded': + return None self._form = self._parse_urlencoded(self.body.decode()) return self._form