At Jim Fulton's request (actually, as a compromise :-), default the
content-type to application/x-www-form-urlencoded only when the method is POST. Ditto for when the content-type is unrecognized -- only fall back to urlencoded with POST.
This commit is contained in:
parent
094189f108
commit
ce900defc5
|
@ -841,7 +841,7 @@ class FieldStorage:
|
||||||
# but it happens to be something we don't understand.
|
# but it happens to be something we don't understand.
|
||||||
if self.headers.has_key('content-type'):
|
if self.headers.has_key('content-type'):
|
||||||
ctype, pdict = parse_header(self.headers['content-type'])
|
ctype, pdict = parse_header(self.headers['content-type'])
|
||||||
elif self.outerboundary:
|
elif self.outerboundary or method != 'POST':
|
||||||
ctype, pdict = "text/plain", {}
|
ctype, pdict = "text/plain", {}
|
||||||
else:
|
else:
|
||||||
ctype, pdict = 'application/x-www-form-urlencoded', {}
|
ctype, pdict = 'application/x-www-form-urlencoded', {}
|
||||||
|
@ -867,7 +867,7 @@ class FieldStorage:
|
||||||
self.read_urlencoded()
|
self.read_urlencoded()
|
||||||
elif ctype[:10] == 'multipart/':
|
elif ctype[:10] == 'multipart/':
|
||||||
self.read_multi(environ, keep_blank_values, strict_parsing)
|
self.read_multi(environ, keep_blank_values, strict_parsing)
|
||||||
elif self.outerboundary:
|
elif self.outerboundary or method != 'POST':
|
||||||
# we're in an inner part, but the content-type wasn't something we
|
# we're in an inner part, but the content-type wasn't something we
|
||||||
# understood. default to read_single() because the resulting
|
# understood. default to read_single() because the resulting
|
||||||
# FieldStorage won't be a mapping (and doesn't need to be).
|
# FieldStorage won't be a mapping (and doesn't need to be).
|
||||||
|
|
Loading…
Reference in New Issue