From 40e84db0f4ca06cfd40f6eebe2f9907797c8a67b Mon Sep 17 00:00:00 2001 From: Fred Drake Date: Sat, 16 Oct 1999 02:07:50 +0000 Subject: [PATCH] Based on comments from Paul Prescod: 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 | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/Lib/CGIHTTPServer.py b/Lib/CGIHTTPServer.py index d5ec7b0010c..dc1739288ae 100644 --- a/Lib/CGIHTTPServer.py +++ b/Lib/CGIHTTPServer.py @@ -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: