SVN: r25710 - trunk/quixote/server

David Binger <dbinger-fVcApmY9cLvQ3/1i3zOLAti2O/[email protected]> Tue, 7 Dec 2004 17:53:01 -0500
Newsgroups gmane.comp.web.quixote.cvs
Message-ID <[email protected]>
Author: dbinger
Date: 2004-12-07 17:36:54 -0500 (Tue, 07 Dec 2004)
New Revision: 25710

Modified:
   trunk/quixote/server/simple_server.py
Log:
Make sure all HTTP headers become 'HTTP_' CGI environment variables.


Modified: trunk/quixote/server/simple_server.py
===================================================================
--- trunk/quixote/server/simple_server.py	2004-12-07 22:10:09 UTC (rev 25709)
+++ trunk/quixote/server/simple_server.py	2004-12-07 22:36:54 UTC (rev 25710)
@@ -30,6 +30,9 @@
         else:
             env['CONTENT_TYPE'] = self.headers.typeheader
         env['CONTENT_LENGTH'] = self.headers.getheader('content-length') or "0"
+        for name, value in self.headers.items():
+            header_name = 'HTTP_' + name.upper().replace('-', '_')
+            env[header_name] = value
         accept = []
         for line in self.headers.getallmatchingheaders('accept'):
             if line[:1] in "\t\n\r ":
@@ -40,12 +43,6 @@
         co = filter(None, self.headers.getheaders('cookie'))
         if co:
             env['HTTP_COOKIE'] = ', '.join(co)
-        for request_header, cgi_header in [('user-agent', 'HTTP_USER_AGENT'),
-                                           ('referer', 'HTTP_REFERER'),
-                                           ('host', 'HTTP_HOST')]:
-            header = self.headers.getheader(request_header)
-            if header:
-                env[cgi_header] = header
         return env
 
     def process(self, env):