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.
This commit is contained in:
Maximilian Hils
2016-07-02 01:51:47 -07:00
parent 2c09e0416b
commit 6032c4f235
23 changed files with 379 additions and 270 deletions

View File

@@ -56,8 +56,6 @@ Datastructures
:special-members:
:no-undoc-members:
.. autoclass:: decoded
.. automodule:: netlib.multidict
.. autoclass:: MultiDictView