[New-bugs-announce] [issue26299] wsgiref.util FileWrapper raises ValueError: I/O operation on closed file.

Samwyse report at bugs.python.org
Fri Feb 5 13:40:05 EST 2016


New submission from Samwyse:

While developing, I am using wsgiref.simple_server.  Using to serve static content isn't working.  The attached program demonstrates the issue.  Run it and connect to http://127.0.0.1:8000/.  You will see three buttons.  Clicking on 'wsgi.filewrapper' causes the FileWrapper class found in wsgiref.util to be used, while clicking on 'PEP 0333' uses code suggested in PEP 0333 (https://www.python.org/dev/peps/pep-0333/#id36).  Both of these fail.  Clicking on 'slurp' causes the entire file to loaded and returned in a list.  This works.

When an application returns an instance of environ['wsgi.file_wrapper'], or creates it's own iterator, an error is raised during the initial read of the file.  Reading the entire file and returning a single-element list (the 'slurp' technique) works, but is impractical for larger files.

I've tested this with both Python 2.7.9 and 3.4.3 under Windows 7 (my laptop) and 3.4.3 under Alpine Linux (a Docker instance).

----------
components: Library (Lib)
files: wsgitest.py
messages: 259685
nosy: samwyse
priority: normal
severity: normal
status: open
title: wsgiref.util FileWrapper raises ValueError: I/O operation on closed file.
versions: Python 2.7, Python 3.4
Added file: http://bugs.python.org/file41828/wsgitest.py

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue26299>
_______________________________________


More information about the New-bugs-announce mailing list