summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Hylton <jeremy@alum.mit.edu>2004-12-22 14:19:09 (GMT)
committerJeremy Hylton <jeremy@alum.mit.edu>2004-12-22 14:19:09 (GMT)
commit6414cd8717dfc923b22d8541db1f6e9ebb8dc023 (patch)
tree657a956bcb929c531fa8dccf67688bdca960ec22
parent9fda931ff0e56117c71f7e9370d97f7abc7f135c (diff)
downloadcpython-6414cd8717dfc923b22d8541db1f6e9ebb8dc023.zip
cpython-6414cd8717dfc923b22d8541db1f6e9ebb8dc023.tar.gz
cpython-6414cd8717dfc923b22d8541db1f6e9ebb8dc023.tar.bz2
SF patch #1055159 via Titus Brown: Document redirect limitation.
Bug fix candidate.
-rw-r--r--Doc/lib/libcgihttp.tex5
-rw-r--r--Lib/CGIHTTPServer.py2
2 files changed, 7 insertions, 0 deletions
diff --git a/Doc/lib/libcgihttp.tex b/Doc/lib/libcgihttp.tex
index 3381c64..df0728e 100644
--- a/Doc/lib/libcgihttp.tex
+++ b/Doc/lib/libcgihttp.tex
@@ -18,6 +18,11 @@ run CGI scripts.
on Mac OS it will only be able to run Python scripts within the same
process as itself.}
+\note{CGI scripts run by the \class{CGIHTTPRequestHandler} class cannot execute
+redirects (HTTP code 302), because code 200 (script output follows)
+is sent prior to execution of the CGI script. This pre-empts the status
+code.}
+
The \module{CGIHTTPServer} module defines the following class:
\begin{classdesc}{CGIHTTPRequestHandler}{request, client_address, server}
diff --git a/Lib/CGIHTTPServer.py b/Lib/CGIHTTPServer.py
index 47a0e2c..7a5c819 100644
--- a/Lib/CGIHTTPServer.py
+++ b/Lib/CGIHTTPServer.py
@@ -14,6 +14,8 @@ requests are executed sychronously.
SECURITY WARNING: DON'T USE THIS CODE UNLESS YOU ARE INSIDE A FIREWALL
-- it may execute arbitrary Python code or external programs.
+Note that status code 200 is sent prior to execution of a CGI script, so
+scripts cannot send other status codes such as 302 (redirect).
"""