From 6414cd8717dfc923b22d8541db1f6e9ebb8dc023 Mon Sep 17 00:00:00 2001 From: Jeremy Hylton Date: Wed, 22 Dec 2004 14:19:09 +0000 Subject: SF patch #1055159 via Titus Brown: Document redirect limitation. Bug fix candidate. --- Doc/lib/libcgihttp.tex | 5 +++++ Lib/CGIHTTPServer.py | 2 ++ 2 files changed, 7 insertions(+) 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). """ -- cgit v0.12