aboutsummaryrefslogtreecommitdiffstats
path: root/netlib/http/response.py
diff options
context:
space:
mode:
authorMaximilian Hils <git@maximilianhils.com>2016-07-02 01:51:47 -0700
committerMaximilian Hils <git@maximilianhils.com>2016-07-02 01:51:47 -0700
commit6032c4f2352260d32032800a2ff694339e2af6b2 (patch)
treee242ede8ebb828f424f270aeb5143516ed048939 /netlib/http/response.py
parent2c09e0416bcf94d9ebef7c11bb1883388e8e2c5d (diff)
downloadmitmproxy-6032c4f2352260d32032800a2ff694339e2af6b2.tar.gz
mitmproxy-6032c4f2352260d32032800a2ff694339e2af6b2.tar.bz2
mitmproxy-6032c4f2352260d32032800a2ff694339e2af6b2.zip
message.content -> .raw_content, implement .text
This PR improves our handling of HTTP message body encodings: - The unaltered message body is now accessible as `.raw_content` - The "content-encoding"-decoded content (i.e. gzip removed) content is not `.content`, as this is what we want in 99% of the cases. - `.text` now provides the "content-encoding"-decoded and then "content-type charset"-decoded message body. - The decoded values for `.content` and `.text` are cached, so that repeated access and `x.text = x.text` is cheap. - The `decoded()` decorator is now deprecated, as we can now just use `.content`. Similarly `HTTPMessage.get_decoded_content()` is deprecated.
Diffstat (limited to 'netlib/http/response.py')
-rw-r--r--netlib/http/response.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/netlib/http/response.py b/netlib/http/response.py
index 17d69418..d2273edd 100644
--- a/netlib/http/response.py
+++ b/netlib/http/response.py
@@ -30,13 +30,14 @@ class Response(message.Message):
An HTTP response.
"""
def __init__(self, *args, **kwargs):
+ super(Response, self).__init__()
self.data = ResponseData(*args, **kwargs)
def __repr__(self):
- if self.content:
+ if self.raw_content:
details = "{}, {}".format(
self.headers.get("content-type", "unknown content type"),
- human.pretty_size(len(self.content))
+ human.pretty_size(len(self.raw_content))
)
else:
details = "no content"