misc: encode field keys into bytes (#22299)

This commit is contained in:
Frédéric Péters 2018-03-06 11:58:57 +01:00
parent 7340516696
commit e3fa75cadc
1 changed files with 8 additions and 5 deletions

View File

@ -115,17 +115,20 @@ class CompatHTTPRequest(HTTPRequest):
if not self.form:
self.form = {}
for k, v in self.django_request.POST.items():
if type(v) is unicode:
self.form[str(k)] = v.encode(site_charset)
else:
self.form[str(k)] = v
if isinstance(k, unicode):
k = k.encode(site_charset)
if isinstance(v, unicode):
v = v.encode(site_charset)
self.form[k] = v
for k, upload_file in self.django_request.FILES.items():
upload = Upload(upload_file.name.encode('utf-8'),
upload_file.content_type.encode('utf-8'),
upload_file.charset)
upload.fp = upload_file.file
self.form[str(k)] = upload
if isinstance(k, unicode):
k = k.encode(site_charset)
self.form[k] = upload
def build_absolute_uri(self):
return self.django_request.build_absolute_uri()