From: Guido van Rossum Date: Wed, 2 Jun 1999 18:44:22 +0000 (+0000) Subject: At Jim Fulton's request (actually, as a compromise :-), default the X-Git-Tag: v1.6a1~1292 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ce900defc57eb8d38ad5da8416ff0ded08df34c3;p=thirdparty%2FPython%2Fcpython.git 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. --- diff --git a/Lib/cgi.py b/Lib/cgi.py index ab6dda843606..6b8d5e5aa141 100755 --- a/Lib/cgi.py +++ b/Lib/cgi.py @@ -841,7 +841,7 @@ class FieldStorage: # but it happens to be something we don't understand. if self.headers.has_key('content-type'): ctype, pdict = parse_header(self.headers['content-type']) - elif self.outerboundary: + elif self.outerboundary or method != 'POST': ctype, pdict = "text/plain", {} else: ctype, pdict = 'application/x-www-form-urlencoded', {} @@ -867,7 +867,7 @@ class FieldStorage: self.read_urlencoded() elif ctype[:10] == 'multipart/': 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 # understood. default to read_single() because the resulting # FieldStorage won't be a mapping (and doesn't need to be).