summaryrefslogtreecommitdiff
path: root/cherrypy/lib/httputil.py
diff options
context:
space:
mode:
Diffstat (limited to 'cherrypy/lib/httputil.py')
-rw-r--r--cherrypy/lib/httputil.py16
1 files changed, 8 insertions, 8 deletions
diff --git a/cherrypy/lib/httputil.py b/cherrypy/lib/httputil.py
index b23933da..4c2e52a7 100644
--- a/cherrypy/lib/httputil.py
+++ b/cherrypy/lib/httputil.py
@@ -9,13 +9,21 @@ to a public caning.
import functools
import email.utils
+import re
from binascii import b2a_base64
+from cgi import parse_header
+try:
+ # Python 3
+ from email.header import decode_header
+except ImportError:
+ from email.Header import decode_header
import six
from cherrypy._cpcompat import BaseHTTPRequestHandler, ntob, ntou
from cherrypy._cpcompat import text_or_bytes, iteritems
from cherrypy._cpcompat import reversed, sorted, unquote_qs
+
response_codes = BaseHTTPRequestHandler.responses.copy()
# From https://github.com/cherrypy/cherrypy/issues/361
@@ -27,9 +35,6 @@ response_codes[503] = ('Service Unavailable',
'request due to a temporary overloading or '
'maintenance of the server.')
-import re
-from cgi import parse_header
-
HTTPDate = functools.partial(email.utils.formatdate, usegmt=True)
@@ -233,11 +238,6 @@ def header_elements(fieldname, fieldvalue):
def decode_TEXT(value):
r"""Decode :rfc:`2047` TEXT (e.g. "=?utf-8?q?f=C3=BCr?=" -> "f\xfcr")."""
- try:
- # Python 3
- from email.header import decode_header
- except ImportError:
- from email.Header import decode_header
atoms = decode_header(value)
decodedvalue = ""
for atom, charset in atoms: