summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSviatoslav Sydorenko <wk@sydorenko.org.ua>2023-01-09 03:34:06 +0100
committerSviatoslav Sydorenko <wk@sydorenko.org.ua>2023-01-09 03:34:06 +0100
commit7338b8364d4def72835d80c6315afbe5c96b20fd (patch)
treecd6e2d82407f705d191827a2c7792f8ec15e531c
parent6b7c2cdc91ca5ba1f6cf3e5d9e8e386266c64ce6 (diff)
downloadcherrypy-git-7338b8364d4def72835d80c6315afbe5c96b20fd.tar.gz
Revert "🔧 Stop using the `cgi` stdlib module"
This reverts commit 6b7c2cdc91ca5ba1f6cf3e5d9e8e386266c64ce6.
-rw-r--r--CHANGES.rst6
-rw-r--r--cherrypy/lib/httputil.py9
2 files changed, 2 insertions, 13 deletions
diff --git a/CHANGES.rst b/CHANGES.rst
index 641976d4..35b3f895 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -1,9 +1,3 @@
-v(next)
--------
-
-* Removed the use of :mod:`cgi` deprecated in Python 3.11
- -- by :user:`webknjaz`.
-
v18.8.0
-------
diff --git a/cherrypy/lib/httputil.py b/cherrypy/lib/httputil.py
index f852cbd6..ced310a0 100644
--- a/cherrypy/lib/httputil.py
+++ b/cherrypy/lib/httputil.py
@@ -12,8 +12,8 @@ import email.utils
import re
import builtins
from binascii import b2a_base64
+from cgi import parse_header
from email.header import decode_header
-from email.message import EmailMessage as _EmailMessage
from http.server import BaseHTTPRequestHandler
from urllib.parse import unquote_plus
@@ -155,12 +155,7 @@ class HeaderElement(object):
@staticmethod
def parse(elementstr):
"""Transform 'token;key=val' to ('token', {'key': 'val'})."""
- msg = _EmailMessage()
- msg['content-type'] = elementstr
-
- initial_value = msg.get_content_type()
- params = dict(msg['content-type'].params)
-
+ initial_value, params = parse_header(elementstr)
return initial_value, params
@classmethod