|
Nic James Ferrier
nferrier at tapsellferrier.co.uk
Sun Aug 13 18:28:31 EDT 2006
My version of mod_python (Debian package 3.1.3-3) says this in
util.py:
# always process GET-style parameters
if req.args:
pairs = parse_qsl(req.args, keep_blank_values)
for pair in pairs:
file = cStringIO.StringIO(pair[1])
self.list.append(Field(pair[0], file, "text/plain", {},
None, {}))
if req.method == "POST" or req.method == "PUT":
try:
clen = int(req.headers_in["content-length"])
except (KeyError, ValueError):
# absent content-length is not acceptable
raise apache.SERVER_RETURN, apache.HTTP_LENGTH_REQUIRED
The current version says something similar.
This is wrong. Or at least restictive.
I noticed this because I am PUTting the representation of a resource
as application/x-www-form-urlencoded and I wasn't allowed to do that
using FieldStorage.
Here's a patch:
--- /usr/lib/python2.3/site-packages/mod_python/util.py~
+++ /usr/lib/python2.3/site-packages/mod_python/util.py
@@ -96,7 +96,7 @@
self.list.append(Field(pair[0], file, "text/plain", {},
None, {}))
- if req.method == "POST":
+ if req.method == "POST" or req.method == "PUT":
try:
clen = int(req.headers_in["content-length"])
--
Nic Ferrier
http://www.tapsellferrier.co.uk for all your tapsell ferrier needs
|