Refs #33697 -- Made MediaType use django.utils.http.parse_header_parameters().

This commit is contained in:
Mehrdad 2022-06-27 10:28:48 -04:00 committed by Mariusz Felisiak
parent eb7b8f3699
commit d6e0c7c30c
1 changed files with 3 additions and 7 deletions

View File

@ -24,8 +24,6 @@ from django.utils.functional import cached_property
from django.utils.http import is_same_domain, parse_header_parameters from django.utils.http import is_same_domain, parse_header_parameters
from django.utils.regex_helper import _lazy_re_compile from django.utils.regex_helper import _lazy_re_compile
from .multipartparser import parse_header
RAISE_ERROR = object() RAISE_ERROR = object()
host_validation_re = _lazy_re_compile( host_validation_re = _lazy_re_compile(
r"^([a-z0-9.-]+|\[[a-f0-9]*:[a-f0-9\.:]+\])(:[0-9]+)?$" r"^([a-z0-9.-]+|\[[a-f0-9]*:[a-f0-9\.:]+\])(:[0-9]+)?$"
@ -620,15 +618,13 @@ class QueryDict(MultiValueDict):
class MediaType: class MediaType:
def __init__(self, media_type_raw_line): def __init__(self, media_type_raw_line):
full_type, self.params = parse_header( full_type, self.params = parse_header_parameters(
media_type_raw_line.encode("ascii") if media_type_raw_line else b"" media_type_raw_line if media_type_raw_line else ""
) )
self.main_type, _, self.sub_type = full_type.partition("/") self.main_type, _, self.sub_type = full_type.partition("/")
def __str__(self): def __str__(self):
params_str = "".join( params_str = "".join("; %s=%s" % (k, v) for k, v in self.params.items())
"; %s=%s" % (k, v.decode("ascii")) for k, v in self.params.items()
)
return "%s%s%s" % ( return "%s%s%s" % (
self.main_type, self.main_type,
("/%s" % self.sub_type) if self.sub_type else "", ("/%s" % self.sub_type) if self.sub_type else "",