Two changes suggested by Jan Pieter Riegel:
(1) Fix reference to pwd.error to be KeyError -- there is no pwd.error
and pwd.getpwnam() raises KeyError on failure.
(2) Add cookie support, by placing the 'Cookie:' header, if present,
in the HTTP_COOKIE environment variable.
diff --git a/Lib/CGIHTTPServer.py b/Lib/CGIHTTPServer.py
index 806ef57..66c4c9c 100644
--- a/Lib/CGIHTTPServer.py
+++ b/Lib/CGIHTTPServer.py
@@ -150,6 +150,9 @@
ua = self.headers.getheader('user-agent')
if ua:
env['HTTP_USER_AGENT'] = ua
+ co = self.headers.getheader('cookie')
+ if co:
+ env['HTTP_COOKIE'] = co
# XXX Other HTTP_* headers
decoded_query = string.replace(query, '+', ' ')
try:
@@ -177,7 +180,7 @@
import pwd
try:
nobody = pwd.getpwnam('nobody')[2]
- except pwd.error:
+ except KeyError:
nobody = 1 + max(map(lambda x: x[2], pwd.getpwall()))
return nobody