[mod_python] ValueError with Flash 8 FileReference.upload(url)

Graham Dumpleton grahamd at dscpl.com.au
Wed Apr 5 02:11:41 EDT 2006


Can you supply an example request body which has the actual data
removed but preserves the header lines you mention as being a
potential issue?

Thanks.

Graham

Harold J. Ship wrote ..
> Attempting to upload a file using Flash 8 FileReference.upload(url)
> causes a ValueError at line 173 of util.py.
>  
> Windows XP
> Apache 2.0.54
> mod_python 3.2.8
>  
> >From httpd.conf:
> <VirtualHost *:8020>
>     ServerName python
>     DocumentRoot "c:/Program Files/Apache Group/Apache2/htdocs/python"
>     <Directory "c:/Program Files/Apache Group/Apache2/htdocs/python">
>         AddHandler mod_python .py
>         PythonHandler deko_publisher
>         PythonDebug Off
>         RewriteEngine On
>         RewriteRule ^$ ^$ [F]
>         RewriteCond %{REQUEST_FILENAME} !-f
>         RewriteRule ^(\w+)/(.*)$ $1.py/$2 [QSA,L]
>         ErrorDocument 500 "<h2>Application error</h2>Problem with Python
> Setup"
>     </Directory>
> </VirtualHost>
>  
> deko_publisher is my own handler that delegates to mod_python.publisher
>  
> It seems that the HTTP request has some header lines that aren't of the
> form "Name: value" such as file boundaries.
>  
> >From error.log:
>  
> [Mon Apr 03 12:05:40 2006] [INFO] WebPython deko_publisher.py:17 about
> to run uploadFoo
> [Mon Apr 03 12:05:40 2006] [error] [client 127.0.0.1] PythonHandler
> deko_publisher: Traceback (most recent call last):
> [Mon Apr 03 12:05:40 2006] [error] [client 127.0.0.1] PythonHandler
> deko_publisher:   File
> "C:\\Python23\\Lib\\site-packages\\mod_python\\apache.py", line 299, in
> HandlerDispatch\n    result = object(req)
> [Mon Apr 03 12:05:41 2006] [error] [client 127.0.0.1] PythonHandler
> deko_publisher:   File "C:/Program Files/Apache
> Group/Apache2/htdocs/python/deko_publisher.py", line 18, in handler\n
> return apache.handler(req)
> [Mon Apr 03 12:05:41 2006] [error] [client 127.0.0.1] PythonHandler
> deko_publisher:   File
> "C:\\Python23\\Lib\\site-packages\\mod_python\\publisher.py", line 213,
> in handler\n    published = publish_object(req, object)
> [Mon Apr 03 12:05:41 2006] [error] [client 127.0.0.1] PythonHandler
> deko_publisher:   File
> "C:\\Python23\\Lib\\site-packages\\mod_python\\publisher.py", line 411,
> in publish_object\n    req.form = util.FieldStorage(req,
> keep_blank_values=1)
> [Mon Apr 03 12:05:41 2006] [error] [client 127.0.0.1] PythonHandler
> deko_publisher:   File
> "C:\\Python23\\Lib\\site-packages\\mod_python\\util.py", line 173, in
> __init__\n    h, v = line.split(":", 1)
> [Mon Apr 03 12:05:41 2006] [error] [client 127.0.0.1] PythonHandler
> deko_publisher: ValueError: unpack list of wrong size
>  
> util.py (lines 169-175):
>            while line not in ('\r','\r\n'):
>                # we read the headers until we reach an empty line
>                # NOTE : a single \n would mean the entity is malformed,
> but
>                # we're tolerating it anyway
>                h, v = line.split(":", 1)
>                headers.add(h, v)
>                h = h.lower()
>  
> proposed change:
>            while line not in ('\r','\r\n'):
>                # we read the headers until we reach an empty line
>                # NOTE : a single \n would mean the entity is malformed,
> but
>                # we're tolerating it anyway
>                try:
>                   h, v = line.split(":", 1)
>                except ValueError:
>                   h, v = "", ""
>                headers.add(h, v)
>                h = h.lower()
> 
>  
>  
> Harold Ship
> Giant Steps Networks
> 
> _______________________________________________
> Mod_python mailing list
> Mod_python at modpython.org
> http://mailman.modpython.org/mailman/listinfo/mod_python


More information about the Mod_python mailing list