Mercurial > cpython-lru_cache-weakref
diff Doc/lib/libcgihttp.tex @ 10982:bef46ea5ef75 legacy-trunk
New sections from Moshe Zadka <moshez@math.huji.ac.il>.
These document CGIHTTPServer, SimpleHTTPServer, and linecache.
| author | Fred Drake <fdrake@acm.org> |
|---|---|
| date | Mon, 14 Jun 1999 19:47:47 +0000 |
| parents | |
| children | e82e82b3b9ad |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Doc/lib/libcgihttp.tex Mon Jun 14 19:47:47 1999 +0000 @@ -0,0 +1,61 @@ +\section{\module{CGIHTTPServer} --- + A Do-Something Request Handler} + + +\declaremodule{standard}{CGIHTTPServer} +\sectionauthor{Moshe Zadka}{mzadka@geocities.com} +\modulesynopsis{This module provides a request handler for HTTP servers + which can run CGI scripts.} + + +The \module{CGIHTTPServer} module defines a request-handler class, +interface compatible with +\class{BaseHTTPServer.BaseHTTPRequestHandler} and inherits behaviour +from \class{SimpleHTTPServer.SimpleHTTPRequestHandler} but can also +run CGI scripts. + +The \module{CGIHTTPServer} module defines the following class: + +\begin{classdesc}{CGIHTTPRequestHandler}{request, client_address, server} +This class is used to serve either files or output of CGI scripts from +the current directory and below. Note that mapping HTTP hierarchic +structure to local directory structure is exactly as in +\class{SimpleHTTPServer.SimpleHTTPRequestHandler}. + +The class will however, run the CGI script, instead of serving it as a +file, if it guesses it to be a CGI script. Only directory-based CGI +are used --- the other common server configuration is to treat special +extensions as denoting CGI scripts. + +The \function{do_GET()} and \function{do_HEAD()} functions are +modified to run CGI scripts and serve the output, instead of serving +files, if the request leads to somewhere below the +\code{cgi_directories} path. +\end{classdesc} + +The \class{CGIHTTPRequestHandler} defines the following data member: + +\begin{memberdesc}{cgi_directories} +This defaults to \code{['/cgi-bin', '/htbin']} and describes +directories to treat as containing CGI scripts. +\end{memberdesc} + +The \class{CGIHTTPRequestHandler} defines the following methods: + +\begin{methoddesc}{do_POST}{} +This method serves the \code{'POST'} request type, only allowed for +CGI scripts. Error 501, "Can only POST to CGI scripts", is output +when trying to POST to a non-CGI url. +\end{methoddesc} + +Note that CGI scripts will be run with UID of user nobody, for security +reasons. Problems with the CGI script will be translated to error 403. + +For example usage, see the implementation of the \function{test()} +function. + + +\begin{seealso} + \seemodule{BaseHTTPServer}{Base class implementation for Web server + and request handler.} +\end{seealso}
