From d724bf10dbd7d625c8ad7fef8d8ad5dbde542772 Mon Sep 17 00:00:00 2001
From: Helmut Grohne <helmut@subdivi.de>
Date: Fri, 20 Apr 2007 08:56:02 +0200
Subject: fix appen_data invocation in WSGIFilterMiddleware

---
 wsgitools/filters.py | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

(limited to 'wsgitools')

diff --git a/wsgitools/filters.py b/wsgitools/filters.py
index f892381..cfa6c36 100644
--- a/wsgitools/filters.py
+++ b/wsgitools/filters.py
@@ -144,9 +144,14 @@ class WSGIFilterMiddleware:
                                  [filter.filter_data(data) for data in ret]
                                  + list(filter.append_data()))
         ret = iter(ret)
+        def late_append_data():
+            """Invoke filter.append_data() after filter_data() has seen all
+            data."""
+            for data in filter.append_data():
+                yield data
         return CloseableIterator(modified_close,
                                  (filter.filter_data(data) for data in ret),
-                                 filter.append_data())
+                                 late_append_data())
 
 __all__.append("RequestLogWSGIFilter")
 class RequestLogWSGIFilter(BaseWSGIFilter):
-- 
cgit v1.2.3