Python 3k und wsgiref

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
tordmor
User
Beiträge: 100
Registriert: Donnerstag 20. November 2008, 10:29
Wohnort: Stuttgart

Ich versuche gerade eine Todoliste in python3 mit wsgi zu schreiben. Dabei ist mir aufgefallen, dass 1. wsgiref einen einfach zu behebenden Fehler hat:

Code: Alles auswählen

--- /usr/lib/python3.0/wsgiref/simple_server.py 2008-11-27 11:20:11.000000000 +0100
+++ simple_server.py    2008-11-27 11:29:40.000000000 +0100
@@ -111,9 +111,9 @@
         if length:
             env['CONTENT_LENGTH'] = length

-        for h in self.headers:
-            k,v = h.split(':',1)
-            k=k.replace('-','_').upper(); v=v.strip()
+        for k in self.headers:
+            v = self.headers[k].strip()
+            k=k.replace('-','_').upper();
             if k in env:
                 continue                    # skip content length, type,etc.
             if 'HTTP_'+k in env:
Zweitens aber, ein größeres Problem ist, dass der wsgiref server versucht einen (unicode-) String über einen Socket zu senden, ohne ihn zu encoden, was natürlich nicht funktioniert.

Was mir jetzt nicht ganz klar ist, an welcher Stelle man diesen Fehler jetzt beheben sollte. Ist das ein Problem des WSGIServers? Oder sollte der http.server.HttpServer das kodieren übernehmen? Oder erst der socketserver.TCPServer? Oder sollten das einer der entsprechenden Request handler tun? Ich bin an dieser Stelle ein wenig überfordert.

Außerdem wäre es gut, wenn jemand mit mehr Erfahrung damit den Patch an die richtige Stelle schicken könnte oder mir schreibt, was damit zu tun ist.
Antworten