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.
This commit is contained in:
Fred Drake 1999-10-16 02:07:50 +00:00
parent 226ae6ca12
commit 40e84db0f4
1 changed files with 11 additions and 2 deletions

View 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: