]> granicus.if.org Git - python/commitdiff
Based on comments from Paul Prescod:
authorFred Drake <fdrake@acm.org>
Sat, 16 Oct 1999 02:07:50 +0000 (02:07 +0000)
committerFred Drake <fdrake@acm.org>
Sat, 16 Oct 1999 02:07:50 +0000 (02:07 +0000)
If os.fork() doesn't exist, raise SystemError with an explanation at
the top of the module.  Added a note to the module docstring.

Lib/CGIHTTPServer.py

index d5ec7b0010c0ba6a448d25c2941d10b3b0d0702d..dc1739288ae5820f22ba3ff7e3a87aa96e094a02 100644 (file)
@@ -3,6 +3,9 @@
 This module builds on SimpleHTTPServer by implementing GET and POST
 requests to cgi-bin scripts.
 
+If the os.fork() function is not present, this module will not work;
+SystemError will be raised instead.
+
 """
 
 
@@ -16,6 +19,12 @@ import BaseHTTPServer
 import SimpleHTTPServer
 
 
+try:
+    os.fork
+except NameError:
+    raise SystemError, __name__ + " requires os.fork()"
+
+
 class CGIHTTPRequestHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
 
     """Complete HTTP server with GET, HEAD and POST commands.
@@ -147,9 +156,9 @@ class CGIHTTPRequestHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
             ua = self.headers.getheader('user-agent')
             if ua:
                 env['HTTP_USER_AGENT'] = ua
-            co = self.headers.getheader('cookie')
+            co = filter(None, self.headers.getheaders('cookie'))
             if co:
-                env['HTTP_COOKIE'] = co
+                env['HTTP_COOKIE'] = string.join(co, ', ')
             # XXX Other HTTP_* headers
             decoded_query = string.replace(query, '+', ' ')
             try: