[Twisted-Python] http.Request and JSON
Glyph Lefkowitz
glyph at twistedmatrix.com
Wed Jan 25 15:03:35 EST 2012
On Jan 25, 2012, at 5:28 AM, Gerrat wrote:
> Tristan Seligmann <mithrandi <at> mithrandi.net> writes:
>
>>
>> On Tue, Jun 30, 2009 at 10:44 AM, Reza Lotun<rlotun <at> gmail.com> wrote:
>>> To be safer, I do a request.content.getvalue() since content is a
>>> cStringIO object and you can never be sure if somewhere along the
>>> chain of processing someone hasn't done a .read and forgot to do a
>>> .seek(0,0).
>>
>> You should probably do the seek/read instead, since I don't believe
>> this is guaranteed to be a cStringIO; it might be an actual file on
>> disk, or something else.
>
> Thank You!!!
>
> Every <stupid> example I've seen used "request.content.getvalue()" ...which
> fails miserably for me (possibly because I'm on 64bit windows - but cStringIO is
> available, so I'm not sure why it's not used). request.content.read() works
> wonderfully. The "getvalue" method looked familiar, but I couldn't recall where
> I'd seen it - only that *my* request.content doesn't have a getvalue method. It
> took quite a few searches before I stumbled on your comment here which gave me
> the correct solution.
Nothing to do with 64bit windows. twisted.web will switch to a file when the threshold of the upload goes above a certain size. request.content is a file-like object, not any particular implementation of that protocol.
This really should be documented in http://twistedmatrix.com/documents/current/api/twisted.web.iweb.IRequest.html - it's a bug that it isn't.
-glyph
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://twistedmatrix.com/pipermail/twisted-python/attachments/20120125/48bef250/attachment.htm
More information about the Twisted-Python
mailing list