Added a decorator for autoencoding string responses to bytes.
authorFredrik Tolf <fredrik@dolda2000.com>
Wed, 14 Mar 2012 20:47:31 +0000 (21:47 +0100)
committerFredrik Tolf <fredrik@dolda2000.com>
Wed, 14 Mar 2012 20:47:31 +0000 (21:47 +0100)
wrw/__init__.py
wrw/util.py

index 6458f64..f5a4e91 100644 (file)
@@ -1,7 +1,7 @@
 __all__ = ["wsgiwrap", "restart", "cookie", "formdata"]
 
 from . import proto
-from .util import wsgiwrap, formparams, persession, sessiondata, autodirty, manudirty
+from .util import wsgiwrap, stringwrap, formparams, persession, sessiondata, autodirty, manudirty
 from .dispatch import restart
 from . import cookie
 from .form import formdata
index 58ead25..b8461d1 100644 (file)
@@ -6,6 +6,15 @@ def wsgiwrap(callable):
         return dispatch.handle(req.origrequest(env), startreq, callable)
     return wrapper
 
+def stringwrap(charset):
+    def dec(callable):
+        def wrapper(*args, **kwargs):
+            bk = callable(*args, **kwargs)
+            for string in bk:
+                yield string.encode(charset)
+        return wrapper
+    return dec
+
 def formparams(callable):
     def wrapper(req):
         data = form.formdata(req)