Commit 4cbe95cd authored by Andrew M. Kuchling's avatar Andrew M. Kuchling

[Bug #866222] Update docs to match the module

parent b839c1f3
......@@ -33,7 +33,7 @@ is defined in the module.
\begin{memberdesc}{extensions_map}
A dictionary mapping suffixes into MIME types. Default is signified
by an empty string, and is considered to be \code{text/plain}.
by an empty string, and is considered to be \code{application/octet-stream}.
The mapping is used case-insensitively, and so should contain only
lower-cased keys.
\end{memberdesc}
......@@ -51,15 +51,23 @@ headers.
The request is mapped to a local file by interpreting the request as
a path relative to the current working directory.
If the request was mapped to a directory, a \code{403} respond is output,
followed by the explanation \code{'Directory listing not supported'}.
Any \exception{IOError} exception in opening the requested file, is mapped
to a \code{404}, \code{'File not found'} error. Otherwise, the content
type is guessed using the \var{extensions_map} variable.
If the request was mapped to a directory, the directory is checked for
a file named \code{index.html} or \code{index.htm} (in that order).
If found, the file's contents are returned; otherwise a directory
listing is generated by calling the \method{list_directory()} method.
This method uses \function{os.listdir()} to scan the directory, and
returns a \code{404} error response if the \function{listdir()} fails.
If the request was mapped to a file, it is opened and the contents are
returned. Any \exception{IOError} exception in opening the requested
file is mapped to a \code{404}, \code{'File not found'}
error. Otherwise, the content type is guessed using the
\var{extensions_map} variable.
A \code{'Content-type:'} with the guessed content type is output, and
then a blank line, signifying end of headers, and then the contents of
the file. The file is always opened in binary mode.
the file. If the file's MIME type starts with \code{text/} the file is
opened in text mode; otherwise binary mode is used.
For example usage, see the implementation of the \function{test()}
function.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment