diff options
author | Maximilian Hils <git@maximilianhils.com> | 2016-07-02 01:51:47 -0700 |
---|---|---|
committer | Maximilian Hils <git@maximilianhils.com> | 2016-07-02 01:51:47 -0700 |
commit | 6032c4f2352260d32032800a2ff694339e2af6b2 (patch) | |
tree | e242ede8ebb828f424f270aeb5143516ed048939 /netlib/http/response.py | |
parent | 2c09e0416bcf94d9ebef7c11bb1883388e8e2c5d (diff) | |
download | mitmproxy-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.py | 5 |
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" |