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

Alec Matusis matusis at matusis.com
Thu Apr 20 06:53:16 EDT 2006


One more thing:

I inserted the following code in util.py on line 153 where it could not
split the string:

                        try:
                            h, v = line.split(":", 1)
                        except Exception, e:
                            req.log_error('faulty line is: '+repr(line))

And the output was:

[Thu Apr 20 03:47:53 2006] [error] [client 10.0.1.35] faulty line is:
'Submit Query\\r\\n'
[Thu Apr 20 03:47:53 2006] [error] [client 10.0.1.35] faulty line is:
'------------ae0cH2ae0KM7KM7KM7gL6KM7ei4ei4'

I am not 100% sure what this means, but for some reason these two lines were
not captured by req.read() in my publisher.
And, I suppose, this SubmitQuery line is wrong? 

 

-----Original Message-----
From: Graham Dumpleton [mailto:grahamd at dscpl.com.au] 
Sent: Wednesday, April 19, 2006 5:36 PM
To: Alec Matusis
Cc: mod_python at modpython.org
Subject: RE: [mod_python] ValueError with Flash 8 FileReference.upload(url) 

Please keep posts on mailing list. :-)

That discussion covers two issues.

1. That in some cases it doesn't output required extra blank line.
This is what the Ruby patch was about.

2. That with Win32 client, it will do a POST with zero content.

As to 2, I note that your example request shows content length
header of "0", but then has content. I'm not sure if this is meant
to be the test post or the real thing.

Do you see any test POST with no actual content like they talk
about? Have you perhaps captured the test POST rather than
the real POST?

Graham

Alec Matusis wrote ..
> I found this discussion on Macromedia website:
> 
>  
>
http://livedocs.macromedia.com/flash/8/main/wwhelp/wwhimpl/common/html/wwhel
> p.htm?context=LiveDocs_Parts&file=00002225.html
> 
> The relevant posts are 
> No screen name said on Sep 23, 2005 at 10:15 AM
> 
> and Macromedia's official response, acknowledging the bug:
> shimi2 said on Jan 19, 2006 at 11:22 AM : 
> 
> I am not 100% sure if I encountered the same problem, but it looks like
> it.
> It also could be that it tries to parse the empty POST request that flash
> issues to test the connection if the filesize is > 10KB (their comment
> shimi2 said on Sep 21, 2005 at 4:45 PM and also this is evidently the
first
> empty line in my req.read() output ? )
> 
> They recommend a workaround for Ruby there. Since it seems to be a fairly
> common issue, would you be able to recommend a workaround for mod_python
> as
> well?
> 
> I wouldn't like to change mod_python sources, but rather, I would like
> to
> alter the bad HTTP request in my handler:
> 
> try:
>     myform=util.FieldStorage(req)
> except ValueError:
>     altered_req = MakeGoodHTTPRequest(req)
>     myform=util.FieldStorage(altered_req)
> 
> to handle 
> ValueError: need more than 1 value to unpack 
> that appears on line 153 in util.py ( h, v = line.split(":", 1) causes
> it -
> looks like the line does not have a colon ":" )
> 
> Could you advise on how this MakeGoodHTTPRequest should look like?
> 
> 
> -----Original Message-----
> From: Graham Dumpleton [mailto:grahamd at dscpl.com.au] 
> Sent: Wednesday, April 19, 2006 2:43 PM
> To: Alec Matusis
> Cc: mod_python list
> Subject: Re: [mod_python] ValueError with Flash 8
FileReference.upload(url)
> 
> Arrrghhh, I'm going bonkers, the blank line is there now when I look
> at it. :-(
> 
> Too many backslashes in there, strains the eyes.
> 
> Anyway, still sounds very much like the missing blank line seen before.
> I'll have a look again later at it.
> 
> Graham
> 
> On 20/04/2006, at 6:34 AM, Graham Dumpleton wrote:
> 
> > Flash for some reason doesn't do the POST for multipart/form per  
> > standard RFCs
> > when no content type is associated with a filename block.
> >
> > See:
> >
> >   http://www.modpython.org/pipermail/mod_python/2006-April/020794.html
> >
> > for previous discussion.
> >
> > See more below.
> >
> > On 19/04/2006, at 7:08 PM, Alec Matusis wrote:
> >
> >> I have been having a problem with FileReference.upload(url)  in flash
> >> 8, and to my amazement, found these posts.
> >>
> >> Here's the error:
> >>
> >> [Wed Apr 19 01:34:52 2006] [error] [client 10.0.1.39]   File  
> >> "/usr/local/lib/python2.4/site-packages/mod_python/util.py", line  
> >> 153, in __init__
> >> [Wed Apr 19 01:34:52 2006] [error] [client 10.0.1.39]     h, v =  
> >> line.split(":", 1)
> >>
> >>
> >> Here's what Flash sends to the server (obtained with  
> >> self.req.log_error(repr(self.req.read())):
> >>
> >> [Wed Apr 19 02:05:44 2006] [error] [client 10.0.1.39] ''
> >> [Wed Apr 19 02:05:44 2006] [error] [client 10.0.1.39] {'Cookie':  
> >> 'cookies_enabled.matusis.com=yes', 'Cache-Control': 'no-cache',  
> >> 'Connection': 'Keep-Alive', 'Content-Length': '0', 'Host':  
> >> 'zz.alecm.dev.chattanga.com', 'User-Agent': 'Shockwave Flash',  
> >> 'Content-Type': 'multipart/form-data;  
> >> boundary=----------gL6Ef1ei4ae0ei4ae0Ef1GI3GI3GI3', 'Accept':  
> >> 'text/*'}
> >> [Wed Apr 19 02:05:44 2006] [error] [client 10.0.1.39]  
> >> '------------gL6Ef1ei4ae0ei4ae0Ef1GI3GI3GI3\\r\\nContent-Disposition:
> >> form-data;  
> >> name="Filename"\\r\\n\\r\\naleccs.jpg\\r\\n------------ 
> >> gL6Ef1ei4ae0ei4ae0Ef1GI3GI3GI3\\r\\nContent-Disposition:
> >
> > See in above line how now content type but also no required extra  
> > blank line.
> > Add a content type for that filename block and see if it works.
> >
> > Graham
> >
> >> form-data; name="Filedata"; filename="aleccs.jpg"\\r\\nContent-Type:
> >> application/octet- 
> >> stream\\r\\n\\r\\n\\xff\\xd8\\xff\\xe0\\x00\\x10JFIF\\x00\\x01\\x02\\x
> >> 01\\x00H\\x00H\\x00\\x00\\xff\\xed\\x08TPhotoshop  
> >> 3.0\\x008BIM\\x03\\xed\\x00\\x00\\x00\\x00\\x00\\x10\\x00H\\x00\\x00\\
> >> x00\\x01\\x00\\x01\\x00H\\x00\\x00\\x00\\x01\\x00\\x018BIM\\x04\\r\\x0
> >> 0\\x00\\x00\\x00\\x00\\x04\\x00\\x00\\x00x8BIM\\x03\\xf3\\x00\\x00\\x0
> >> 0\\x00\\x00\\x08\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x018BIM\\x04\\n\\
> >> x00\\x00\\x00\\x00\\x00\\x01\\x00\\x008BIM\\'\\x10\\x00\\x00\\x00\\x00
> >> \\x00\\n\\x00\\x01\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x028BIM\\x03\\x
> >> f5\\x00\\x00\\x00\\x00\\x00H\\x00/ 
> >> ff\\x00\\x01\\x00lff\\x00\\x06\\x00\\x00\\x00\\x00\\x00\\x01\\x00/ 
> >> ff\\x00\\x01\\x!
> >>   
> >> 00\\xa1\\x99\\x9a\\x00\\x06\\x00\\x00\\x00\\x00\\x00\\x01\\x002\\x00\\
> >> x00\\x00\\x01\\x00Z\\x00\\x00\\x00\\x06\\x00\\x00\\x00\\x00\\x00\\x01\
> >> \x005\\x00\\x00\\x00\\x01\\x00- 
> >> \\x00\\x00\\x00\\x06\\x00\\x00\\x00\\x00\\x00\\x018BIM\\x03\\xf8\\x00\
> >> \x00\\x00\\x00\\x00p\\x00\\x00\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff
> >> \\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff
> >> \\x03\\xe8\\x00\\x00\\x00\\x00\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff
> >> \\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff
> >> \\x03\\xe8\\x00\\x00\\x00\\x00\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff
> >> \\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff
> >> \\x03\\xe8\\x00\\x00\\x00\\x00\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff
> >> \\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff\\xff
> >> \\x03\\xe8\\x00\\x008BIM\\x04\\x08\\x00\\x00\\x00\\x00\\x00\\x10\\x00\
> >> \x00\\x00\\x01\\x00\\x00\\x02@\\x00\\x00\\x02@\\x00\\x00\\x00\\x008BIM
> >> \\x04\\x14\\x00\\x00\\x00\\x00\\x00\\x04\\x00\\!
> >>   
> >> x00\\x00\\x038BIM\\x04\\x0c\\x00\\x00\\x00\\x00\\x06\\xc3\\x00\\x00\\x
> >> 00\\x01\\x00\\x00\\x00d\\x00\\x00\\x00K\\x00\\x00\\x01,\\x00\\x00W\\xe
> >> 4\\x00\\x00\\x06\\xa7\\x00\\x18\\x00\\x01\\xff\\xd8\\xff\\xe0\\x00\\x1
> >> 0JFIF\\x00\\x01\\x02\\x01\\x00H\\x00H\\x00\\x00\\xff\\xfe\\x00&File
> >> written by Adobe Photoshop\\xa8  
> >> 5.0\\xff\\xee\\x00\\x0eAdobe\\x00d\\x80\\x00\\x00\\x00\\x01\\xff\\xdb\
> >> \x00\\x84\\x00\\x0c\\x08\\x08\\x08\\t\\x08\\x0c\\t\\t\\x0c\\x11\\x0b\\
> >> n\\x0b\\x11\\x15\\x0f\\x0c\\x0c\\x0f\\x15\\x18\\x13\\x13\\x15\\x13\\x1
> >> 3\\x18\\x11\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x11\\x0c\\x0c\\x0c\\x0c\\x0
> >> c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0
> >> c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x01\\r\\x0b\\x0b\\r\\x
> >> 0e\\r\\x10\\x0e\\x0e\\x10\\x14\\x0e\\x0e\\x0e\\x14\\x14\\x0e\\x0e\\x0e
> >> \\x0e\\x14\\x11\\x0c\\x0c\\x0c\\x0c\\x0c\\x11\\x11\\x0c\\x0c\\x0c\\x0c
> >> \\x0c\\x0c\\x11\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c
> >> \\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c\\x0c
> >> \\x0c\\x0c\\x0c\\xff\\xc0\\x00\\x11\\x08\\x00K\\x!
> >>   
> >> 00d\\x03\\x01"\\x00\\x02\\x11\\x01\\x03\\x11\\x01\\xff\\xdd\\x00\\x04\
> >> \x00\\x07\\xff\\xc4\\x01? 
> >> \\x00\\x00\\x01\\x05\\x01\\x01\\x01\\x01\\x01\\x01\\x00\\x00\\x00\\x00
> >> \\x00\\x00\\x00\\x03\\x00\\x01\\x02\\x04\\x05\\x06\\x07\\x08\\t\\n\\x0
> >> b\\x01\\x00\\x01\\x05\\x01\\x01\\x01\\x01\\x01\\x01\\x00\\x00\\x00\\x0
> >> 0\\x00\\x00\\x00\\x01\\x00\\x02\\x03\\x04\\x05\\x06\\x07\\x08\\t\\n\\x
> >> 0b\\x10\\x00\\x01\\x04\\x01\\x03\\x02\\x04\\x02\\x05\\x07\\x06\\x08\\x
> >> 05\\x03\\x0c3\\x01\\x00\\x02\\x11\\x03\\x04! 
> >> \\x121\\x05AQa\\x13"q\\x812\\x06\\x14\\x91\\xa1\\xb1B#$\\x15R\\xc1b34r
> >> \\x82\\xd1C\\x07%\\x92S\\xf0\\xe1\\xf1cs5\\x16\\xa2\\xb2\\x83&D\\x93Td
> >> E\\xc2\\xa3t6\\x17\\xd2U\\xe2e\\xf2\\xb3\\x84\\xc3\\xd3u\\xe3\\xf3F\\'
> >> \\x94\\xa4\\x85\\xb4\\x95\\xc4\\xd4\\xe4\\xf4\\xa5\\xb5\\xc5\\xd5\\xe5
> >> \\xf5Vfv\\x86\\x96\\xa6\\xb6\\xc6\\xd6\\xe6\\xf67GWgw\\x87\\x97\\xa7\\
> >> xb7\\xc7\\xd7\\xe7\\xf7\\x11\\x00\\x02\\x02\\x01\\x02\\x04\\x04\\x03\\
> >> x04\\x05\\x06\\x07\\x07\\x06\\x055\\x01\\x00\\x02\\x11\\x03! 
> >> 1\\x12\\x04AQaq"\\x!
> >>   
> >> 13\\x052\\x81\\x91\\x14\\xa1\\xb1B#\\xc1R\\xd1\\xf03$b\\xe1r\\x82\\x92
> >> CS\\x15cs4\\xf1%\\x06\\x16\\xa2\\xb2\\x83\\x07&5\\xc2\\xd2D\\x93T\\xa3
> >> \\x17dEU6te\\xe2\\xf2\\xb3\\x84\\xc3\\xd3u\\xe3\\xf3F\\x94\\xa4\\x85\\
> >> xb4\\x95\\xc4\\xd4\\xe4\\xf4\\xa5\\xb5\\xc5\\xd5\\xe5\\xf5Vfv\\x86\\x9
> >> 6\\xa6\\xb6\\xc6\\xd6\\xe6\\xf6\\'7GWgw\\x87\\x97\\xa7\\xb7\\xc7\\xff\
> >> \xda\\x00\\x0c\\x03\\x01\\x00\\x02\\x11\\x03\\x11\\x00? 
> >> \\x00\\xd6,\\x0e\\x10D\\x82\\x90\\xa1\\x80\\x10\\x04\\x02  
> >> \\xc7\\x9a(\\t\\xc0M\\\\\\x82\\xac: 
> >> *~\\xf6\\x02\\x1d\\x11$\\x93\\xff\\x00TP\\xba\\xa7P\\xa7\\xa6`\\xd9\\x
> >> 99p\\x96\\xb2\\x00`0\\\\\\xe3\\xf4Z\\xd9W\\x80\\\\G\\xd7\\xdb\\xac\\xb
> >> 7\\xa8b\\xe0\\x02Emf\\xf2\\x07\\x8b\\xdc[\\xbb\\xfc\\xd6%\\xa0V\\xa5\\
> >> xcd\\xea_\\\\\\xfa\\xc6[\\xa3\\x1e\\xc1\\x85^\\xb0\\xda\\xbe\\x94\\x7f
> >> *\\xd3\\xee\\xff\\x003b\\xaf\\x8b\\xf5\\xab\\xeb\\x165\\x82\\xc6\\xe6\
> >> \xd9f\\xa0\\x96\\xdaw\\xb4\\xc7\\xe6\\xbbz\\xd1\\xc6\\xfa\\xb1\\x8fc\\
> >> x98L\\x9a\\xb4\\xdc\\\\`\\x9f\\x84+\\x99_Uzg\\xa0\\xefM\\xaem\\x91\\xe
> >> dv\\xe2u\\xf3Q\\xfb\\xf0\\xf1f\\xfb\\xb4\\xfc\\x1e\\x8f\\xea\\xc7\\xd6
> >> \!
> >>   
> >> \xcc~\\xba\\xd3M\\xac\\x18\\xf9\\xf5\\x89u@\\xcb^\\xd1\\xcd\\x94\\xcf\
> >> \xfd6-\\xf8^=\\x8a\\xcb\\xfa?U\\xc4\\xbd\\xae! 
> >> \\xd5\\xd8\\xd7\\x0e\\xe7\\x9d\\xb67O\\xe4\\x95\\xec@\\xea\\xa4\\x89\\
> >> x04Xc  
> >> \\xc4\\xd1\\xdd\\x81n\\xa9\\x88\\xd5L\\xf2\\xa3\\xc9E\\x16\\x85\\xc1\\
> >> x08\\xb5\\x1c\\x85\\x02\\x12\\xa4Z\\x18\\xd5$HI%? 
> >> \\xff\\xd0\\xde\\x01"41\\xe0\\x9d<i\\x1e)%\\xb1{p\\xc3"\\x9d\\xc2\\xc6
> >> \\xb9\\x80\\xee2\\x08- 
> >> \\xdc\\xe5\\xc4\\xfdk\\xc6e\\x9ds\\x16\\xc6{\\xdc*-{\\x00\\x98-; 
> >> \\x99\\xff\\x00E\\xeb\\xa6\\xab\\x08Wc,\\xf5\\x1c\\xed\\x93\\xed3\\xac
> >> \\x8d\\xba\\xfb\\x96/ 
> >> Yc\\x99\\xd5Ya\\x1a\\x13\\x00\\xf9\\x16\\xff\\x00\\xe4\\x9a\\xa3\\xcaH
> >> \\x8e\\xdb\\xe8\\xcd\\x86  
> >> \\xcf}\\xb5jcfe\\xd4\\x0e\\xe6\\xb4\\x86\\tuE\\x84H\\xe3\\xdbb\\xb3\\x
> >> 7fPk\\xda at c*\\xda\\x1a\\\\\\xe3.\\x00\\x1f\\xf3\\x15\\x8b\\x88\\x18\\x
> >> 8ep\\x1a\\x98\\x10\\x06\\xba\\xaa\\xb8\\xc2\\x9b2\\xacce\\xcd\\x15\\x8
> >> 9\\xdc\\xd2\\x04\\x8f\\x8a\\x82\\xc6\\x9e\\x9d\\x1bF\\x12\\xa28\\xc8\\
> >> 'g b\\xb7;\\xad\\xf4\\xf1>\\xc7d\\xb4\\x13\\x11!\\xbf\!
> >>   
> >> \xa4<#cj\\xa6\\xa6h\\x98\\xcbS\\xc5l\\x89Q\\x9dTw&\\xdc\\xa4bdT\\x08O2
> >> \\x92Ja\\x1a\\xa4\\xa5\\t$\\xa7\\xff\\xd1\\xe8\\x12L\\x9aRK%S\\xabW\\x
> >> eat\\xfbH\\x1e\\xea\\xc6\\xf1\\xe3\\xed\\xf7\\x1f\\xfa*\\xd4\\xa8\\\\\
> >> \xfaEN\\xf5\\x9c\\xd6VA\\x0es\\x88\\x02\\x0e\\x9c\\x94\\x08\\xb1I\\x06
> >> \\x88=\\x9ez\\xa7: 
> >> \\xf67c\\xf6\\xed\\xf2\\x07\\xee\\xdc\\x86\\xe2\\xfa\\xec\\xf5\\x1e\\x
> >> fd\\x002\\x08\\x13\\xff\\x00EUc.e\\x81\\xd8v\\xb4\\xb4\\x925\\xf70\\x9
> >> 1\\xf9\\xc2? 
> >> y+p\\xba\\x96]\\x91{\\xda+\\x1fK\\xd3\\x9d~j\\xa5h\\xdf\\xe2\\xd2\\xab
> >> wO\\xea\\xe5\\xf8Ved_y`{\\x0b\\x05/ 
> >> y\\x03Wn\\x07f\\xef\\xce]10\\xbc\\xfe\\xdcz\\xdbxcZ\\x00\\xaf\\xe8\\x9
> >> f\\x0f\\x18V\\xeb\\xea9\\xac\\x1bY}\\x908\\x97\\x15g\\r\\x98\\x03T\\xd
> >> 3\\xcfBd]\\xfe\\xc7\\xb2.L\\x1c\\xb9\\x03\\xd6z\\x84i{\\xbc\\x95\\x8c\
> >> \x1e\\xbd\\x94\\xc7\\xc6A\\xf5k<\\x93\\xc8\\xf8\\x15%1Xz\\x90S\\xa0Uk,
> >> `{\\x0c\\xb5\\xc2AE\\x05$\\xb2I4\\xa4\\x92\\x9f\\xff\\xd2\\xdd%1*2\\xb
> >> 3\\xba\\xd6s\\xb1qKk1m\\xb2\\xd6\\x9f\\x01\\xf9\\xceEM\\xac\\x8e\\xa5\
> >> \x89\\x8f\\xa3\\xec\\x05\\xdf\\xb8\\xddN\\x9f\\xf5+\\x9a\\xea\\xb9\\xc
> >> 3\\xaafT\\xcb\!
> >>   
> >> \t\\xaf\\x16\\xb0\\xef\\xd1\\xcf\\xd2t\\xfer\\xa6\\xcb7H\\xf2\\nMo\\x1
> >> 3\\xa0\\xef\\xc1\\xd7\\xe6\\x84\\xa2LH\\x06\\x89\\xea\\xba\\x13\\x02@\
> >> \xc8X\\x1d\\x1b\\x9d6\\xb2\\xc7\\x96\\x0f\\xe6\\xcb\\x8e\\xdf(V\\xf2z\
> >> \x9dL\\x9a\\xf1\\xe2\\xcb8.\\x1fD\\x7f\\xe4\\x96C\\x88>\\xcd\\xce#\\xf
> >> 7D\\x81\\xf8(\\xbd\\xdf\\x98\\xc1\\xb5\\xa3\\xe9x\\x9f%\\x1c0\\x01\\xf
> >> 3\\x1e&I\\xf3$\\xfc\\x83\\x87\\xc5#\\x9c^\\xe3\\xac\\xb9\\xda\\xb9\\xc
> >> 9\\x89\\xdb\\x00\\'h\\x03O\\xbc\\xa6\\x1a\\xba{\\x05; 
> >> ^\\xd6k\\x0e\\xe8=\\x87\\xe5S\\xdcd\\x0e\\x10\\xde\\xe2\\x1eOy\\x01I\\
> >> xae\\x93\\'\\xb2(w>\\xaff\\xcb\\xac\\xc5q\\xfe[?\\xef\\xc0- 
> >> \\xe0\\xe5\\xc5\\xe2^q\\xf2\\xaa\\xb8~i\\xd7\\xe0y]{^\\x1c\\x01\\x06A\
> >> \xd4\\x14\\xc2\\xba%>\\xe4\\x90\\xb7$\\x92\\xe7\\xff\\xd3\\xd7%s\\x7fX
> >> /\\xf52v4\\xe9H\\x83\\xf3\\xe5tK\\x95\\xea_\\xd3/ 
> >> \\xfe\\xbb\\xbf\\xd4\\xa2\\x11&\\x93\\x07q\\xc29<\\x85^\\xaf\\xa0yFo!
> >> 9\\x0c,{\\x9a$hJU\\xb6\\\\\\xd0~%+? 
> >> \\x9cS\\??\\xff\\x00QzL\\xea\\xb8}\\x8d\\xfd\\xad\\x88\\xc666X\\xd7\\x
> >> 08\\xed\\x04.\\xd4\!
> >>   
> >> \x95>#cj\\xa6\\xa6h\\x98\\xcbS\\xc5l\\x89Q\\x9dTw&\\xdc\\xa4bdT\\x08O2
> >> \\x92Ja\\x1a\\xa4\\xa5\\t$\\xa7\\xff\\xd1\\xe8\\x12L\\x9aRK%S\\xabW\\x
> >> eat\\xfbH\\x1e\\xea\\xc6\\xf1\\xe3\\xed\\xf7\\x1f\\xfa*\\xd4\\xa8\\\\\
> >> \xfaEN\\xf5\\x9c\\xd6VA\\x0es\\x88\\x02\\x0e\\x9c\\x94\\x08\\xb1I\\x06
> >> \\x88=\\x9ez\\xa7: 
> >> \\xf67c\\xf6\\xed\\xf2\\x07\\xee\\xdc\\x86\\xe2\\xfa\\xec\\xf5\\x1e\\x
> >> fd\\x002\\x08\\x13\\xff\\x00EUc.e\\x81\\xd8v\\xb4\\xb4\\x925\\xf70\\x9
> >> 1\\xf9\\xc2? 
> >> y+p\\xba\\x96]\\x91{\\xda+\\x1fK\\xd3\\x9d~j\\xa5h\\xdf\\xe2\\xd2\\xab
> >> wO\\xea\\xe5\\xf8Ved_y`{\\x0b\\x05/ 
> >> y\\x03Wn\\x07f\\xef\\xce]10\\xbc\\xfe\\xdcz\\xdbxcZ\\x00\\xaf\\xe8\\x9
> >> f\\x0f\\x18V\\xeb\\xea9\\xac\\x1bY}\\x908\\x97\\x15g\\r\\x98\\x03T\\xd
> >> 3\\xcfBd]\\xfe\\xc7\\xb2.L\\x1c\\xb9\\x03\\xd6z\\x84i{\\xbc\\x95\\x8c\
> >> \x1e\\xbd\\x94\\xc7\\xc6A\\xf5k<\\x93\\xc8\\xf8\\x15%1Xz\\x90S\\xa0Uk,
> >> `{\\x0c\\xb5\\xc2AE\\x05$\\xb2I4\\xa4\\x92\\x9f\\xff\\xd2\\xdd%1*2\\xb
> >> 3\\xba\\xd6s\\xb1qKk1m\\xb2\\xd6\\x9f\\x01\\xf9\\xceEM\\xac\\x8e\\xa5\
> >> \x89\\x8f\\xa3\\xec\\x05\\xdf\\xb8\\xddN\\x9f\\xf5+\\x9a\\xea\\xb9\\xc
> >> 3\\xaafT\\xcb\!
> >>   
> >> \t\\xaf\\x16\\xb0\\xef\\xd1\\xcf\\xd2t\\xfer\\xa6\\xcb7H\\xf2\\nMo\\x1
> >> 3\\xa0\\xef\\xc1\\xd7\\xe6\\x84\\xa2LH\\x06\\x89\\xea\\xba\\x13\\x02@\
> >> \xc8X\\x1d\\x1b\\x9d6\\xb2\\xc7\\x96\\x0f\\xe6\\xcb\\x8e\\xdf(V\\xf2z\
> >> \x9dL\\x9a\\xf1\\xe2\\xcb8.\\x1fD\\x7f\\xe4\\x96C\\x88>\\xcd\\xce#\\xf
> >> 7D\\x81\\xf8(\\xbd\\xdf\\x98\\xc1\\xb5\\xa3\\xe9x\\x9f%\\x1c0\\x01\\xf
> >> 3\\x1e&I\\xf3$\\xfc\\x83\\x87\\xc5#\\x9c^\\xe3\\xac\\xb9\\xda\\xb9\\xc
> >> 9\\x89\\xdb\\x00\\'h\\x03O\\xbc\\xa6\\x1a\\xba{\\x05; 
> >> ^\\xd6k\\x0e\\xe8=\\x87\\xe5S\\xdcd\\x0e\\x10\\xde\\xe2\\x1eOy\\x01I\\
> >> xae\\x93\\'\\xb2(w>\\xaff\\xcb\\xac\\xc5q\\xfe[?\\xef\\xc0- 
> >> \\xe0\\xe5\\xc5\\xe2^q\\xf2\\xaa\\xb8~i\\xd7\\xe0y]{^\\x1c\\x01\\x06A\
> >> \xd4\\x14\\xc2\\xba%>\\xe4\\x90\\xb7$\\x92\\xe7\\xff\\xd3\\xd7%s\\x7fX
> >> /\\xf52v4\\xe9H\\x83\\xf3\\xe5tK\\x95\\xea_\\xd3/ 
> >> \\xfe\\xbb\\xbf\\xd4\\xa2\\x11&\\x93\\x07q\\xc29<\\x85^\\xaf\\xa0yFo!
> >> 9\\x0c,{\\x9a$hJU\\xb6\\\\\\xd0~%+? 
> >> \\x9cS\\xab\\xf">\\xff\\x00QzL\\xea\\xb8}\\x8d\\xfd\\xad\\x88\\xc666X\
> >> \xd7\\x08\\xed\\x04.\\x!
> >>   
> >> d4\\x95>#cj\\xa6\\xa6h\\x98\\xcbS\\xc5l\\x89Q\\x9dTw&\\xdc\\xa4bdT\\x0
> >> 8O2\\x92Ja\\x1a\\xa4\\xa5\\t$\\xa7\\xff\\xd1\\xe8\\x12L\\x9aRK%S\\xabW
> >> \\xeat\\xfbH\\x1e\\xea\\xc6\\xf1\\xe3\\xed\\xf7\\x1f\\xfa*\\xd4\\xa8\\
> >> \\\\xfaEN\\xf5\\x9c\\xd6VA\\x0es\\x88\\x02\\x0e\\x9c\\x94\\x08\\xb1I\\
> >> x06\\x88=\\x9ez\\xa7: 
> >> \\xf67c\\xf6\\xed\\xf2\\x07\\xee\\xdc\\x86\\xe2\\xfa\\xec\\xf5\\x1e\\x
> >> fd\\x002\\x08\\x13\\xff\\x00EUc.e\\x81\\xd8v\\xb4\\xb4\\x925\\xf70\\x9
> >> 1\\xf9\\xc2? 
> >> y+p\\xba\\x96]\\x91{\\xda+\\x1fK\\xd3\\x9d~j\\xa5h\\xdf\\xe2\\xd2\\xab
> >> wO\\xea\\xe5\\xf8Ved_y`{\\x0b\\x05/ 
> >> y\\x03Wn\\x07f\\xef\\xce]10\\xbc\\xfe\\xdcz\\xdbxcZ\\x00\\xaf\\xe8\\x9
> >> f\\x0f\\x18V\\xeb\\xea9\\xac\\x1bY}\\x908\\x97\\x15g\\r\\x98\\x03T\\xd
> >> 3\\xcfBd]\\xfe\\xc7\\xb2.L\\x1c\\xb9\\x03\\xd6z\\x84i{\\xbc\\x95\\x8c\
> >> \x1e\\xbd\\x94\\xc7\\xc6A\\xf5k<\\x93\\xc8\\xf8\\x15%1Xz\\x90S\\xa0Uk,
> >> `{\\x0c\\xb5\\xc2AE\\x05$\\xb2I4\\xa4\\x92\\x9f\\xff\\xd2\\xdd%1*2\\xb
> >> 3\\xba\\xd6s\\xb1qKk1m\\xb2\\xd6\\x9f\\x01\\xf9\\xceEM\\xac\\x8e\\xa5\
> >> \x89\\x8f\\xa3\\xec\\x05\\xdf\\xb8\\xddN\\x9f\\xf5+\\x9a\\xea\\xb9\\xc
> >> 3\\xaafT\\x!
> >>   
> >> cb\\t\\xaf\\x16\\xb0\\xef\\xd1\\xcf\\xd2t\\xfer\\xa6\\xcb7H\\xf2\\nMo\
> >> \x13\\xa0\\xef\\xc1\\xd7\\xe6\\x84\\xa2LH\\x06\\x89\\xea\\xba\\x13\\x0
> >> 2@\\xc8X\\x1d\\x1b\\x9d6\\xb2\\xc7\\x96\\x0f\\xe6\\xcb\\x8e\\xdf(V\\xf
> >> 2z\\x9dL\\x9a\\xf1\\xe2\\xcb8.\\x1fD\\x7f\\xe4\\x96C\\x88>\\xcd\\xce#\
> >> \xf7D\\x81\\xf8(\\xbd\\xdf\\x98\\xc1\\xb5\\xa3\\xe9x\\x9f%\\x1c0\\x01\
> >> \xf3\\x1e&I\\xf3$\\xfc\\x83\\x87\\xc5#\\x9c^\\xe3\\xac\\xb9\\xda\\xb9\
> >> \xc9\\x89\\xdb\\x00\\'h\\x03O\\xbc\\xa6\\x1a\\xba{\\x05; 
> >> ^\\xd6k\\x0e\\xe8=\\x87\\xe5S\\xdcd\\x0e\\x10\\xde\\xe2\\x1eOy\\x01I\\
> >> xae\\x93\\'\\xb2(w>\\xaff\\xcb\\xac\\xc5q\\xfe[?\\xef\\xc0- 
> >> \\xe0\\xe5\\xc5\\xe2^q\\xf2\\xaa\\xb8~i\\xd7\\xe0y]{^\\x1c\\x01\\x06A\
> >> \xd4\\x14\\xc2\\xba%>\\xe4\\x90\\xb7$\\x92\\xe7\\xff\\xd3\\xd7%s\\x7fX
> >> /\\xf52v4\\xe9H\\x83\\xf3\\xe5tK\\x95\\xea_\\xd3/ 
> >> \\xfe\\xbb\\xbf\\xd4\\xa2\\x11&\\x93\\x07q\\xc29<\\x85^\\xaf\\xa0yFo!
> >> 9\\x0c,{\\x9a$hJU\\xb6\\\\\\xd0~%+? 
> >> \\x9cS\\xab\\xf9\\xd7p\\x92\\x99\\x13\\xa7>d$\\xe3\\xb5\\x84\\x83\\xcf
> >> \\x1f\\x143 <file://!
> >>   
> >> \\xff\\x00QzL\\xea\\xb8}\\x8d\\xfd\\xad\\x88\\xc666X\\xd7\\x08\\xed\\x
> >> 04.\\xd4\\x95>
> >>
> >>
> >> Any thoughts on this?
> >>
> >>
> >> --Alec
> >>
> >>
> >>
> >>
> >>
> >> _______________________________________________
> >> Mod_python mailing list
> >> Mod_python at modpython.org
> >> http://mailman.modpython.org/mailman/listinfo/mod_python
> >
> >
> > _______________________________________________
> > 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