Forgot to add the hooks sub-package

This commit is contained in:
Luca De Vitis
2011-08-23 23:39:07 +02:00
parent d12eac8669
commit 660e090315
4 changed files with 64 additions and 0 deletions
+7
View File
@@ -0,0 +1,7 @@
"""
request.hooks.args
~~~~~~~~~~~~~~~~~~
This module provide a collection of args hooks.
"""
+7
View File
@@ -0,0 +1,7 @@
"""
request.hooks.post_request
~~~~~~~~~~~~~~~~~~~~~~~~~~
This module provide a collection of post_request hooks.
"""
+7
View File
@@ -0,0 +1,7 @@
"""
request.hooks.pre_request
~~~~~~~~~~~~~~~~~~~~~~~~~
This module provide a collection of pre_request hooks.
"""
+43
View File
@@ -0,0 +1,43 @@
"""
request.hooks.response
~~~~~~~~~~~~~~~~~~~~~~
This module provide a collection of response hooks.
"""
from functools import wraps
import zlib
from cgi import parse_header
#: Dictionary of content decoders.
decoders = {
# No decoding applied.
'identity': lambda r: r,
# Decode Response file object compressed with deflate.
'deflate': lambda r: zlib.decompress(r.content),
# Decode Response file object compressed with gzip.
'gzip': lambda r: zlib.decompress(r.content, 16+zlib.MAX_WBITS),
}
# Decode Response file object compressed with compress.
decoders['compress'] = decoders['deflate']
try:
import bz2
except ImportError:
pass
else:
# Decode Response file object compressed with bz2.
decoders['bzip2'] = lambda r: bz2.decompress(r.content)
def unicode_response(r):
"""Encode response file object in unicode."""
content_type, params = parse_header(r.headers.get('content-type'))
charset = params.get('charset', '').strip("'\"")
r.content = unicode(r.content, charset) if charset else unicode(r.content)
return r
def decode_response(r):
"""Decode compressed response content using Contetn-Encoding header."""
encoding = r.headers.get('content-encoding')
return decoders.get(encoding)(r)