Guido van Rossum 
								
							 
						 
						
							
							
							
							
								
							
							
								3af7b050a3 
								
							 
						 
						
							
							
								
								Fix a broken r.append(name, value) call, spotted by Tim.  
							
							
							
						 
						
							2000-02-25 11:44:03 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
							
							
								
							
							
								60a3bd8130 
								
							 
						 
						
							
							
								
								After more discussion with Jim, change the behavior so that only a  
							
							... 
							
							
							
							*missing* content-type at the outer level of a POST defaults to
urlencoded.  In all other circumstances, the default is read_singe(). 
							
						 
						
							1999-06-11 18:26:09 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
							
							
								
							
							
								1946f0d6f2 
								
							 
						 
						
							
							
								
								Patch by Jim Fulton: new function parse_qsl(), which is like  
							
							... 
							
							
							
							parse_qs() but returns a list of (name, value) pairs -- which is
actually more correct.  Use this where it makes sense. 
							
						 
						
							1999-06-04 17:54:39 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
							
							
								
							
							
								ce900defc5 
								
							 
						 
						
							
							
								
								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. 
							
						 
						
							1999-06-02 18:44:22 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Barry Warsaw 
								
							 
						 
						
							
							
							
							
								
							
							
								302331a3b6 
								
							 
						 
						
							
							
								
								FieldStorage.__init__(): if there is no content-type header, use  
							
							... 
							
							
							
							text/plain for inner parts, but application/x-www-form-urlencoded
for outer parts.  Honor any existing content-type header.
Lower down, if the content-type header is something we don't
understand (say because it there was a typo in the header coming from
the client), default to text/plain for inner parts, but
application/x-www-form-urlencoded for outer parts. 
							
						 
						
							1999-01-08 17:42:03 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
							
							
								
							
							
								030d2ec16c 
								
							 
						 
						
							
							
								
								In read_multi, allow a subclass to override the class we instantiate  
							
							... 
							
							
							
							when we create a recursive instance, by setting the class variable
'FieldStorageClass' to the desired class.  By default, this is set to
None, in which case we use self.__class__ (as before). 
							
						 
						
							1998-12-09 22:16:46 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
							
							
								
							
							
								f5745008d2 
								
							 
						 
						
							
							
								
								Patch by Jim Fulton, who writes:  
							
							... 
							
							
							
							"""
The FieldStorage constructor calls the read_multi method.  The read_multi
method creates new FieldStorage objects, re-invoking the constructor
(on the new objects).  The problem is that the 'environ', 'keep_blank_values',
and 'strict_parsing' arguments originally passed to the constructor are not
propigated to the new object constructors.  This causes os.environ to be used,
leading to a miss-handling of the parts.
I fixed this by passing these arguments to read_multi and then on to the
constructor.  See the context diff below.
""" 
							
						 
						
							1998-10-20 14:43:02 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
							
							
								
							
							
								01852838f3 
								
							 
						 
						
							
							
								
								Treat "HEAD" same as "GET", so that CGI scripts won't fail.  
							
							
							
						 
						
							1998-06-25 02:40:17 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
							
							
								
							
							
								cff311aa37 
								
							 
						 
						
							
							
								
								Be more careful than the previous patch.  The default content-type  
							
							... 
							
							
							
							should only be set to application/x-www-form-urlencoded when the
method is POST.  E.g. for PUT, an empty default (defaulting to
text/plain later) makes more sense. 
							
						 
						
							1998-06-11 14:06:59 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
							
							
								
							
							
								dd47ec98e2 
								
							 
						 
						
							
							
								
								Default content-type to application/x-www-form-urlencoded at the top  
							
							... 
							
							
							
							level of a form.  This means that browsers that omit the content-type
header when sending a POST command aren't penalized so heavily. 
							
						 
						
							1998-06-09 19:49:16 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
							
							
								
							
							
								b1b4f94527 
								
							 
						 
						
							
							
								
								Make Tim O'Malley's requested change: in FieldStorage.__init__(), when  
							
							... 
							
							
							
							method='GET', always get the query string from environ['QUERY_STRING']
or sys.argv[1] -- ignore an explicitly passed in fp. 
							
						 
						
							1998-05-08 19:55:51 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
							
							
								
							
							
								45e2fbc2e7 
								
							 
						 
						
							
							
								
								Mass check-in after untabifying all files that need it.  
							
							
							
						 
						
							1998-03-26 21:13:24 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
							
							
								
							
							
								00f9fea288 
								
							 
						 
						
							
							
								
								Use string.replace instead of regsub.[g]sub.  
							
							
							
						 
						
							1997-12-24 21:18:41 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
							
							
								
							
							
								f15d15964b 
								
							 
						 
						
							
							
								
								Use sys.exc_info() where needed.  
							
							
							
						 
						
							1997-09-29 23:22:12 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
							
							
								
							
							
								a5e9fb6a65 
								
							 
						 
						
							
							
								
								Changes suggested by Jim fulton:  
							
							... 
							
							
							
							- Moved most imports to the top, for faster loadingf when using ni.
- Always open the temp file in binary mode. 
							
						 
						
							1997-08-12 18:18:13 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
							
							
								
							
							
								64c6620934 
								
							 
						 
						
							
							
								
								Add optional 'quote' flag argument to escape(); if true, translate '"'  
							
							... 
							
							
							
							to '"'. 
							
						 
						
							1997-07-19 20:11:53 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
							
							
								
							
							
								d7c9d96d3e 
								
							 
						 
						
							
							
								
								Tweak default source of query a bit so it is possible to invoke  
							
							... 
							
							
							
							a CGI script from the command line with not environment variables. 
							
						 
						
							1997-05-28 15:39:15 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
							
							
								
							
							
								4305542517 
								
							 
						 
						
							
							
								
								Reworded the doc string to remove the need for The Emacs font-lock kludge.  
							
							... 
							
							
							
							This required (re)moving all occurrences of '(' in column 0, as well
as changing "#!" to #!. 
							
						 
						
							1997-05-28 15:11:01 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
							
							
								
							
							
								ad16471b27 
								
							 
						 
						
							
							
								
								Untested changes by Skip Montanaro to have an optional limit on the  
							
							... 
							
							
							
							size of uploads to POST (new version of these patches). 
							
						 
						
							1997-05-13 19:03:23 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
							
							
								
							
							
								5f32248d56 
								
							 
						 
						
							
							
								
								From: Clarence Gardner <clarence@king.silcom.com>  
							
							... 
							
							
							
							The function parse_qs currently calls urllib.unquote on the
value of the field submitted, but not on the name.  It needs
to do both. 
							
						 
						
							1997-04-11 18:20:42 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
							
							
								
							
							
								152f9d9663 
								
							 
						 
						
							
							
								
								Put back #! /usr/local/bin/python.  For cgi scripts, /usr/bin/env is  
							
							... 
							
							
							
							unlikely to find a python binary, as /usr/local/bin is usually not on
the default search path. 
							
						 
						
							1997-02-18 16:55:33 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
							
							
								
							
							
								88b85d4f63 
								
							 
						 
						
							
							
								
								Add __len__ method  
							
							
							
						 
						
							1997-01-11 19:21:33 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
							
							
								
							
							
								f06ee5fa07 
								
							 
						 
						
							
							
								
								/usr/local/bin/python -> /usr/bin/env python  
							
							
							
						 
						
							1996-11-27 19:52:01 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
							
							
								
							
							
								e08c04c387 
								
							 
						 
						
							
							
								
								Added 'strict_parsing' option to all parsing functions.  This causes a  
							
							... 
							
							
							
							ValueError exception when the query string contains fields that don't
contain exactly one '=' sign.  (By default, such fields are simply
ignored.)  Added this to the doc string describing parse() and
parse_qs().
Also changed the default for keep_blank_values from None to 0 (the
preferred way to spell 'FALSE'). 
							
						 
						
							1996-11-11 19:29:11 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
							
							
								
							
							
								16d5b113f6 
								
							 
						 
						
							
							
								
								Fix truncated paragraph in doc string.  
							
							... 
							
							
							
							Bump version to 2.0. 
							
						 
						
							1996-10-24 14:44:32 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
							
							
								
							
							
								c204c70c1a 
								
							 
						 
						
							
							
								
								Added logging support.  
							
							
							
						 
						
							1996-09-05 19:07:11 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
							
							
								
							
							
								e5e46e0d29 
								
							 
						 
						
							
							
								
								Fixed embarrassing logic bug in read_lines_to_outerboundary().  
							
							
							
						 
						
							1996-09-05 19:03:36 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
							
							
								
							
							
								9e3f42909a 
								
							 
						 
						
							
							
								
								Emacs font-lock de-bogo-kludgificocity  
							
							
							
						 
						
							1996-08-26 15:46:13 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
							
							
								
							
							
								f85de8a440 
								
							 
						 
						
							
							
								
								Added print_exception() convenience function.  
							
							
							
						 
						
							1996-08-20 20:22:39 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
							
							
								
							
							
								afb5e93e77 
								
							 
						 
						
							
							
								
								For method=POST, append a query string from the environment or from  
							
							... 
							
							
							
							sys.argv[1], effectively merging the fields. 
							
						 
						
							1996-08-08 18:42:12 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
							
							
								
							
							
								99aa2a4132 
								
							 
						 
						
							
							
								
								Remove all CRLF -> LF translation for file uploads, since we cannot  
							
							... 
							
							
							
							reliably distinguish binary files from text files (and Mac Netscape
sends all files in "binary" form, i.e. it sends text files with only
CR delimiters...). 
							
						 
						
							1996-07-23 17:27:05 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
							
							
								
							
							
								773ab27f04 
								
							 
						 
						
							
							
								
								Changes by Jim Fulton: pass environ around as arg;  
							
							... 
							
							
							
							keep_blank_values option to parse(). 
							
						 
						
							1996-07-23 03:46:24 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
							
							
								
							
							
								fa59cd73d4 
								
							 
						 
						
							
							
								
								bump version (sorry)  
							
							
							
						 
						
							1996-05-28 22:58:15 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
							
							
								
							
							
								503e50b0fa 
								
							 
						 
						
							
							
								
								capitalize H3 headers; add 'cgi.' prefix to example code  
							
							
							
						 
						
							1996-05-28 22:57:20 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
							
							
								
							
							
								a8738a5642 
								
							 
						 
						
							
							
								
								Added print_arguments() function.  
							
							
							
						 
						
							1996-03-14 21:30:28 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
							
							
								
							
							
								4032c2c1ce 
								
							 
						 
						
							
							
								
								Change to use real temporary files instead of StringIO.  Correct and  
							
							... 
							
							
							
							add to documentation.  This will be released as cgi.py 2.0a1. 
							
						 
						
							1996-03-09 04:04:35 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
							
							
								
							
							
								0147db07ef 
								
							 
						 
						
							
							
								
								Considerable documentation changes and a few import rearrangements.  
							
							
							
						 
						
							1996-03-09 03:16:04 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
							
							
								
							
							
								7aee384dbc 
								
							 
						 
						
							
							
								
								Reformatted with 4-space indentation.  Added some quick docs to the  
							
							... 
							
							
							
							FieldStorage class. 
							
						 
						
							1996-03-07 18:00:44 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
							
							
								
							
							
								243ddcd7a9 
								
							 
						 
						
							
							
								
								Added FieldStorage class, which stores parts in files.  
							
							... 
							
							
							
							(Not documented yet, and the files are currently StringIO instances.) 
							
						 
						
							1996-03-07 06:33:07 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
							
							
								
							
							
								391b4e60e6 
								
							 
						 
						
							
							
								
								Reformatting only.  
							
							
							
						 
						
							1996-03-06 19:11:33 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
							
							
								
							
							
								7275561d34 
								
							 
						 
						
							
							
								
								File upload and revamped documentation.  
							
							
							
						 
						
							1996-03-06 07:20:06 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
							
							
								
							
							
								1c9daa8ba6 
								
							 
						 
						
							
							
								
								handle missing QUERY_STRING  
							
							
							
						 
						
							1995-09-18 21:52:37 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
							
							
								
							
							
								e7808778d6 
								
							 
						 
						
							
							
								
								added parse_qs(query_string)  
							
							
							
						 
						
							1995-08-07 20:12:09 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
							
							
								
							
							
								dcce73af48 
								
							 
						 
						
							
							
								
								fix typos in escape() and print_form()  
							
							
							
						 
						
							1995-03-14 17:22:28 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
							
							
								
							
							
								eb9e9d2b2a 
								
							 
						 
						
							
							
								
								layout changes; quote & as well  
							
							
							
						 
						
							1995-02-27 13:16:11 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Guido van Rossum 
								
							 
						 
						
							
							
							
							
								
							
							
								9a22de101f 
								
							 
						 
						
							
							
								
								new files  
							
							
							
						 
						
							1995-01-12 12:29:47 +00:00