Files
i2p.android.base/apps/sam/python/doc/epydoc/html/public/SimpleHTTPServer.SimpleHTTPRequestHandler-class.html
2004-08-02 14:00:56 +00:00

406 lines
26 KiB
HTML

<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>SimpleHTTPServer.SimpleHTTPRequestHandler</title>
<link rel="stylesheet" href="epydoc.css" type="text/css"></link>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- =========== START OF NAVBAR =========== -->
<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
<tr valign="center">
<th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
<th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<th class="navbar" width="100%"></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<font size="-1"><b class="breadcrumbs">
Module&nbsp;SimpleHTTPServer ::
Class&nbsp;SimpleHTTPRequestHandler
</b></font></br>
</td>
<td><table cellpadding="0" cellspacing="0">
<tr><td align="right"><font size="-2">[<a href="../private/SimpleHTTPServer.SimpleHTTPRequestHandler-class.html">show&nbsp;private</a>&nbsp;|&nbsp;hide&nbsp;private]</font></td></tr>
<tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class SimpleHTTPRequestHandler</h2>
<pre class="base-tree">
<a href="SocketServer.BaseRequestHandler-class.html"><code>BaseRequestHandler</code></a> --+
|
<a href="SocketServer.StreamRequestHandler-class.html"><code>StreamRequestHandler</code></a> --+
|
<a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html"><code>BaseHTTPRequestHandler</code></a> --+
|
<b>SimpleHTTPRequestHandler</b>
</pre><br />
<dl><dt><b>Known Subclasses:</b></dt>
<dd>
<a href="CGIHTTPServer.CGIHTTPRequestHandler-class.html"><code>CGIHTTPRequestHandler</code></a>,
<a href="i2p.SimpleHTTPServer.SimpleHTTPRequestHandler-class.html"><code>SimpleHTTPRequestHandler</code></a></dd></dl>
<hr/>
<p>Simple HTTP request handler with GET and HEAD commands.</p>
<p>This serves files from the current directory and any of its
subdirectories. It assumes that all files are plain text files unless
they have the extension &quot;.html&quot; in which case it assumes they
are HTML files.</p>
The GET and HEAD requests are identical except that the HEAD request
omits the actual contents of the file.
<hr/>
<!-- =========== START OF METHOD SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Method Summary</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#copyfile" class="summary-sig-name"><code>copyfile</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>source</span>,
<span class=summary-sig-arg>outputfile</span>)</span></code>
<br />
Copy all data between two file objects.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#do_GET" class="summary-sig-name"><code>do_GET</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Serve a GET request.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#do_HEAD" class="summary-sig-name"><code>do_HEAD</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Serve a HEAD request.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#guess_type" class="summary-sig-name"><code>guess_type</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>path</span>)</span></code>
<br />
Guess the type of a file.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#list_directory" class="summary-sig-name"><code>list_directory</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>path</span>)</span></code>
<br />
Helper to produce a directory listing (absent index.html).</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#send_head" class="summary-sig-name"><code>send_head</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Common code for GET and HEAD commands.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#translate_path" class="summary-sig-name"><code>translate_path</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>path</span>)</span></code>
<br />
Translate a /-separated PATH to the local filename syntax.</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseHTTPRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#address_string" class="summary-sig-name"><code>address_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return the client address formatted for logging.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#date_time_string" class="summary-sig-name"><code>date_time_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return the current date and time formatted for a message header.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#end_headers" class="summary-sig-name"><code>end_headers</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Send the blank line ending the MIME headers.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle" class="summary-sig-name"><code>handle</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Handle multiple requests if necessary.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#handle_one_request" class="summary-sig-name"><code>handle_one_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Handle a single HTTP request.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_date_time_string" class="summary-sig-name"><code>log_date_time_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return the current time formatted for logging.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_error" class="summary-sig-name"><code>log_error</code></a>(<span class=summary-sig-arg>self</span>,
<span class="summary-sig-vararg">*args</span>)</span></code>
<br />
Log an error.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_message" class="summary-sig-name"><code>log_message</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>format</span>,
<span class="summary-sig-vararg">*args</span>)</span></code>
<br />
Log an arbitrary message.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#log_request" class="summary-sig-name"><code>log_request</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>code</span>,
<span class=summary-sig-arg>size</span>)</span></code>
<br />
Log an accepted request.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#parse_request" class="summary-sig-name"><code>parse_request</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Parse a request (internal).</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_error" class="summary-sig-name"><code>send_error</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>code</span>,
<span class=summary-sig-arg>message</span>)</span></code>
<br />
Send and log an error reply.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_header" class="summary-sig-name"><code>send_header</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>keyword</span>,
<span class=summary-sig-arg>value</span>)</span></code>
<br />
Send a MIME header.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#send_response" class="summary-sig-name"><code>send_response</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>code</span>,
<span class=summary-sig-arg>message</span>)</span></code>
<br />
Send the response header and log the response code.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#version_string" class="summary-sig-name"><code>version_string</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return the server software version string.</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#finish" class="summary-sig-name"><code>finish</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.StreamRequestHandler-class.html#setup" class="summary-sig-name"><code>setup</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
<td><code><span class="summary-sig"><a href="SocketServer.BaseRequestHandler-class.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>request</span>,
<span class=summary-sig-arg>client_address</span>,
<span class=summary-sig-arg>server</span>)</span></code>
</td></tr>
</table><br />
<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Class Variable Summary</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>dict</code></font></td>
<td><b><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#extensions_map"><code>extensions_map</code></a></b> = <span title="{'': 'application/octet-stream', '.obj': 'application/octet-stream', '.ra': 'audio/x-pn-realaudio', '.sgm': 'text/x-sgml', '.texi': 'application/x-texinfo', '.mp2': 'audio/mpeg', '.bin': 'application/octet-stream', '.dll': 'application/octet-stream', '.xpm': 'image/x-xpixmap', '.mpeg': 'video/mpeg', '.ms': 'application/x-troff-ms', '.me': 'application/x-troff-me', '.rtx': 'text/richtext', '.ppt': 'application/vnd.ms-powerpoint', '.ras': 'image/x-cmu-raster', '.pps': 'application/vnd.ms-powerpoint', '.rgb': 'image/x-rgb', '.ram': 'application/x-pn-realaudio', '.ppm': 'image/x-portable-pixmap..."><code>{'':&nbsp;'application/octet-stream',&nbsp;'.obj'<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="SimpleHTTPServer.SimpleHTTPRequestHandler-class.html#server_version"><code>server_version</code></a></b> = <span title="'SimpleHTTP/0.6'"><code><span class="variable-quote">'</span>SimpleHTTP/0.6<span class="variable-quote">'</span> </code>
</span></td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from BaseHTTPRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#error_message_format"><code>error_message_format</code></a></b> = <span title="'&lt;head&gt;\n&lt;title&gt;Error response&lt;/title&gt;\n&lt;/head&gt;\n&lt;body&gt;\n&lt;h1&gt;Error response&lt;/h1&gt;\n&lt;p&gt;Error code %(code)d.\n&lt;p&gt;Message: %(message)s.\n&lt;p&gt;Error code explanation: %(code)s = %(explain)s.\n&lt;/body&gt;\n'"><code><span class="variable-quote">'</span>&lt;head&gt;\n&lt;title&gt;Error&nbsp;response&lt;/t<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#monthname"><code>monthname</code></a></b> = <span title="[None, 'Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']"><code>[None,&nbsp;'Jan',&nbsp;'Feb',&nbsp;'Mar',&nbsp;'Apr',&nbsp;'May',&nbsp;'J<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#protocol_version"><code>protocol_version</code></a></b> = <span title="'HTTP/1.0'"><code><span class="variable-quote">'</span>HTTP/1.0<span class="variable-quote">'</span> </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>dict</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#responses"><code>responses</code></a></b> = <span title="{400: ('Bad request', 'Bad request syntax or unsupported method'), 401: ('Unauthorized', 'No permission -- see authorization schemes'), 402: ('Payment required', 'No payment -- see charging schemes'), 403: ('Forbidden', 'Request forbidden -- authorization will not help'), 404: ('Not Found', 'Nothing matches the given URI'), 405: ('Method Not Allowed', 'Specified method is invalid for this server.'), 406: ('Not Acceptable', 'URI not available in preferred format.'), 407: ('Proxy Authentication Required', 'You must authenticate with this proxy before proceeding.'), 408: ('Request Time-out', '..."><code>{400:&nbsp;('Bad&nbsp;request',&nbsp;'Bad&nbsp;request&nbsp;syntax&nbsp;or<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#sys_version"><code>sys_version</code></a></b> = <span title="'Python/2.3.4'"><code><span class="variable-quote">'</span>Python/2.3.4<span class="variable-quote">'</span> </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>list</code></font></td>
<td><b><a href="BaseHTTPServer.BaseHTTPRequestHandler-class.html#weekdayname"><code>weekdayname</code></a></b> = <span title="['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']"><code>['Mon',&nbsp;'Tue',&nbsp;'Wed',&nbsp;'Thu',&nbsp;'Fri',&nbsp;'Sat',<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2">&nbsp;&nbsp;&nbsp;&nbsp;Inherited from StreamRequestHandler</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.StreamRequestHandler-class.html#rbufsize"><code>rbufsize</code></a></b> = <span title="-1">-1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="SocketServer.StreamRequestHandler-class.html#wbufsize"><code>wbufsize</code></a></b> = <span title="0">0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
</table><br />
<!-- =========== START OF METHOD DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
<th colspan="2">Method Details</th></tr>
</table>
<a name="copyfile"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">copyfile</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>source</span>,
<span class=sig-arg>outputfile</span>)</span>
</h3>
<p>Copy all data between two file objects.</p>
<p>The SOURCE argument is a file object open for reading (or anything
with a read() method) and the DESTINATION argument is a file object
open for writing (or anything with a write() method).</p>
The only reason for overriding this would be to change the block
size or perhaps to replace newlines by CRLF -- note however that this
the default server uses this to copy binary data as well.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="do_GET"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">do_GET</span>(<span class=sig-arg>self</span>)</span>
</h3>
Serve a GET request.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="do_HEAD"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">do_HEAD</span>(<span class=sig-arg>self</span>)</span>
</h3>
Serve a HEAD request.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="guess_type"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">guess_type</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>path</span>)</span>
</h3>
<p>Guess the type of a file.</p>
<p>Argument is a PATH (a filename).</p>
<p>Return value is a string of the form type/subtype, usable for a MIME
Content-type header.</p>
The default implementation looks the file's extension up in the
table self.extensions_map, using text/plain as a default; however it
would be permissible (if slow) to look inside the data to make a better
guess.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="list_directory"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">list_directory</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>path</span>)</span>
</h3>
<p>Helper to produce a directory listing (absent index.html).</p>
Return value is either a file object, or None (indicating an error).
In either case, the headers are sent, making the interface the same as
for send_head().
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="send_head"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">send_head</span>(<span class=sig-arg>self</span>)</span>
</h3>
<p>Common code for GET and HEAD commands.</p>
<p>This sends the response code and MIME headers.</p>
Return value is either a file object (which has to be copied to the
outputfile by the caller unless the command was HEAD, and must be
closed by the caller under all circumstances), or None, in which case
the caller has nothing further to do.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="translate_path"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">translate_path</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>path</span>)</span>
</h3>
<p>Translate a /-separated PATH to the local filename syntax.</p>
Components that mean special things to the local file system (e.g.
drive or directory names) are ignored. (XXX They should probably be
diagnosed.)
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<br />
<!-- =========== START OF CLASS VARIABLE DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
<th colspan="2">Class Variable Details</th></tr>
</table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="extensions_map"></a>
<h3>extensions_map</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>dict</code>
</dd>
<span title="{'': 'application/octet-stream', '.obj': 'application/octet-stream', '.ra': 'audio/x-pn-realaudio', '.sgm': 'text/x-sgml', '.texi': 'application/x-texinfo', '.mp2': 'audio/mpeg', '.bin': 'application/octet-stream', '.dll': 'application/octet-stream', '.xpm': 'image/x-xpixmap', '.mpeg': 'video/mpeg', '.ms': 'application/x-troff-ms', '.me': 'application/x-troff-me', '.rtx': 'text/richtext', '.ppt': 'application/vnd.ms-powerpoint', '.ras': 'image/x-cmu-raster', '.pps': 'application/vnd.ms-powerpoint', '.rgb': 'image/x-rgb', '.ram': 'application/x-pn-realaudio', '.ppm': 'image/x-portable-pixmap..."> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
{'': 'application/octet-stream',
'.bin': 'application/octet-stream',
'.dll': 'application/octet-stream',
'.mp2': 'audio/mpeg',
'.obj': 'application/octet-stream',
'.ra': 'audio/x-pn-realaudio',
'.sgm': 'text/x-sgml',
'.texi': 'application/x-texinfo',
<span class="variable-ellipsis">...</span> </pre>
</td></tr></table></dd>
</span> </dl>
</dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="server_version"></a>
<h3>server_version</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>str</code>
</dd>
<span title="'SimpleHTTP/0.6'"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>SimpleHTTP/0.6<span class="variable-quote">'</span> </pre>
</td></tr></table></dd>
</span> </dl>
</dd>
</dl></td></tr></table>
<br />
<!-- =========== START OF NAVBAR =========== -->
<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
<tr valign="center">
<th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="i2p-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
<th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
<th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<th class="navbar" width="100%"></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left"><font size="-2">Generated by Epydoc 2.1 on Mon Aug 02 01:07:41 2004</font></td>
<td align="right"><a href="http://epydoc.sourceforge.net"
><font size="-2">http://epydoc.sf.net</font></a></td>
</tr>
</table>
</body>
</html>