New submission from jan matejek <jmate...@suse.cz>: since 2.6 httplib supports reading from file-like objects.
Now consider the following situation: There are two handlers in urrlib2, first is plain http, second is basic auth. I want to POST a file to a service, and pass the open file object as data parameter to urllib2.urlopen. First handler is invoked, it sends the file data, but gets 401 Unauthorized return code and fails with that. Second handler in chain is invoked (at least that's how i understand urrlib2, please correct me if i'm talking rubbish). At that point the open file is at EOF, so empty data is sent. furthermore, the obvious solution "you can't do this through urllib so go read the file yourself" doesn't apply that well - the file object in question is actually a mmap.mmap instance. This code is in production since python 2.4. Until file object support in httplib was introduced, it worked fine, handling the mmap'ed file as a string. Now it is picked up as read()-able and this problem occurs. Only workaround to restore pre-2.6 behavior that comes to mind is building a wrapper class for the mmap object that hides its read() method. ---------- components: Library (Lib) messages: 80419 nosy: matejcik severity: normal status: open title: urrlib2/httplib doesn't reset file position between requests type: behavior versions: Python 2.6 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue5038> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com