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:
parent
226ae6ca12
commit
40e84db0f4
@ -3,6 +3,9 @@
|
|||||||
This module builds on SimpleHTTPServer by implementing GET and POST
|
This module builds on SimpleHTTPServer by implementing GET and POST
|
||||||
requests to cgi-bin scripts.
|
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
|
import SimpleHTTPServer
|
||||||
|
|
||||||
|
|
||||||
|
try:
|
||||||
|
os.fork
|
||||||
|
except NameError:
|
||||||
|
raise SystemError, __name__ + " requires os.fork()"
|
||||||
|
|
||||||
|
|
||||||
class CGIHTTPRequestHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
|
class CGIHTTPRequestHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
|
||||||
|
|
||||||
"""Complete HTTP server with GET, HEAD and POST commands.
|
"""Complete HTTP server with GET, HEAD and POST commands.
|
||||||
@ -147,9 +156,9 @@ class CGIHTTPRequestHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
|
|||||||
ua = self.headers.getheader('user-agent')
|
ua = self.headers.getheader('user-agent')
|
||||||
if ua:
|
if ua:
|
||||||
env['HTTP_USER_AGENT'] = ua
|
env['HTTP_USER_AGENT'] = ua
|
||||||
co = self.headers.getheader('cookie')
|
co = filter(None, self.headers.getheaders('cookie'))
|
||||||
if co:
|
if co:
|
||||||
env['HTTP_COOKIE'] = co
|
env['HTTP_COOKIE'] = string.join(co, ', ')
|
||||||
# XXX Other HTTP_* headers
|
# XXX Other HTTP_* headers
|
||||||
decoded_query = string.replace(query, '+', ' ')
|
decoded_query = string.replace(query, '+', ' ')
|
||||||
try:
|
try:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user