diff --git a/aiohttp/web_reqrep.py b/aiohttp/web_reqrep.py index 83cd59b4e6c..b00c8c41d41 100644 --- a/aiohttp/web_reqrep.py +++ b/aiohttp/web_reqrep.py @@ -740,6 +740,8 @@ def body(self, body): @property def text(self): + if self._body is None: + return None return self._body.decode(self.charset or 'utf-8') @text.setter diff --git a/tests/test_web_response.py b/tests/test_web_response.py index 585448d40aa..3e30a5f209b 100644 --- a/tests/test_web_response.py +++ b/tests/test_web_response.py @@ -680,3 +680,8 @@ def test_text_in_ctor_with_content_type_header(self): self.assertEqual('текст'.encode('koi8-r'), resp.body) self.assertEqual('text/html', resp.content_type) self.assertEqual('koi8-r', resp.charset) + + def test_text_with_empty_payload(self): + resp = Response(status=200) + self.assertEqual(resp.body, None) + self.assertEqual(resp.text, None)