From: Jeremy Hylton Date: Wed, 22 Dec 2004 14:19:09 +0000 (+0000) Subject: SF patch #1055159 via Titus Brown: Document redirect limitation. X-Git-Tag: v2.5a0~2229 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6414cd8717dfc923b22d8541db1f6e9ebb8dc023;p=thirdparty%2FPython%2Fcpython.git SF patch #1055159 via Titus Brown: Document redirect limitation. Bug fix candidate. --- diff --git a/Doc/lib/libcgihttp.tex b/Doc/lib/libcgihttp.tex index 3381c64e4a0d..df0728e3f182 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 47a0e2c37a6e..7a5c8190d82c 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). """