Advertising

What exactly is the filestream_iterator that the FileCacheManager uses?

As I understand it this is a new feature?

For Zope >= 2.7.2, ZPublisher defines an interface,
ZPublisher.Iterators.IStreamIterator. An application can return an
object implementing this interface to the publisher, instead of a
string; if so, the publisher hands it directly to medusa, and frees up
the application thread / database connection. medusa will use the
iterator to send the response back to the user, without first converting
it to a single big string.

That's actually brilliant.

If I understand ExternalFile could benefit from using the
IStreamIterator interface instead of RESPONSE.write?
For instance, for someone that don't want to store blobs
in the database temporarily :-)