From 4284bed28ae27d5d2bf51cabf2bd3dd2e78a5ea4 Mon Sep 17 00:00:00 2001 From: Nickolai Novik Date: Thu, 25 Jun 2015 21:42:41 +0300 Subject: [PATCH] response.text returns None if response.body is None --- aiohttp/web_reqrep.py | 2 ++ tests/test_web_response.py | 5 +++++ 2 files changed, 7 insertions(+) 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)