Skip to content

Commit

Permalink
Replace _parse_content_type with cgi.parse_header
Browse files Browse the repository at this point in the history
  • Loading branch information
funkybob committed Feb 8, 2014
1 parent 6fe26bd commit f43e895
Showing 1 changed file with 2 additions and 16 deletions.
18 changes: 2 additions & 16 deletions django/core/handlers/wsgi.py
@@ -1,5 +1,6 @@
from __future__ import unicode_literals

import cgi
import codecs
import logging
import sys
Expand Down Expand Up @@ -95,7 +96,7 @@ def __init__(self, environ):
self.META['PATH_INFO'] = path_info
self.META['SCRIPT_NAME'] = script_name
self.method = environ['REQUEST_METHOD'].upper()
_, content_params = self._parse_content_type(environ.get('CONTENT_TYPE', ''))
_, content_params = cgi.parse_header(environ.get('CONTENT_TYPE', ''))
if 'charset' in content_params:
try:
codecs.lookup(content_params['charset'])
Expand All @@ -115,21 +116,6 @@ def __init__(self, environ):
def _get_scheme(self):
return self.environ.get('wsgi.url_scheme')

def _parse_content_type(self, ctype):
"""
Media Types parsing according to RFC 2616, section 3.7.
Returns the data type and parameters. For example:
Input: "text/plain; charset=iso-8859-1"
Output: ('text/plain', {'charset': 'iso-8859-1'})
"""
content_type, _, params = ctype.partition(';')
content_params = {}
for parameter in params.split(';'):
k, _, v = parameter.strip().partition('=')
content_params[k] = v
return content_type, content_params

def _get_request(self):
warnings.warn('`request.REQUEST` is deprecated, use `request.GET` or '
'`request.POST` instead.', PendingDeprecationWarning, 2)
Expand Down

0 comments on commit f43e895

Please sign in to comment.