| 
									
										
										
										
											1998-08-10 19:42:37 +00:00
										 |  |  | \section{\module{BaseHTTPServer} --- | 
					
						
							| 
									
										
										
										
											2000-10-10 16:56:41 +00:00
										 |  |  |          Basic HTTP server} | 
					
						
							| 
									
										
										
										
											1998-07-23 17:59:49 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2000-10-10 16:56:41 +00:00
										 |  |  | \declaremodule{standard}{BaseHTTPServer} | 
					
						
							| 
									
										
										
										
											1998-08-06 21:23:17 +00:00
										 |  |  | \modulesynopsis{Basic HTTP server (base class for | 
					
						
							| 
									
										
										
										
											2000-10-10 16:56:41 +00:00
										 |  |  |                 \class{SimpleHTTPServer} and \class{CGIHTTPServer}).} | 
					
						
							| 
									
										
										
										
											1998-07-23 17:59:49 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | \indexii{WWW}{server} | 
					
						
							|  |  |  | \indexii{HTTP}{protocol} | 
					
						
							|  |  |  | \index{URL} | 
					
						
							|  |  |  | \index{httpd} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | This module defines two classes for implementing HTTP servers | 
					
						
							| 
									
										
										
										
											2001-07-14 02:50:55 +00:00
										 |  |  | (Web servers). Usually, this module isn't used directly, but is used | 
					
						
							|  |  |  | as a basis for building functioning Web servers. See the | 
					
						
							| 
									
										
										
										
											1999-06-14 19:49:50 +00:00
										 |  |  | \module{SimpleHTTPServer}\refstmodindex{SimpleHTTPServer} and | 
					
						
							|  |  |  | \refmodule{CGIHTTPServer}\refstmodindex{CGIHTTPServer} modules. | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-03-14 07:00:41 +00:00
										 |  |  | The first class, \class{HTTPServer}, is a | 
					
						
							| 
									
										
										
										
											2001-07-14 02:50:55 +00:00
										 |  |  | \class{SocketServer.TCPServer} subclass.  It creates and listens at the | 
					
						
							|  |  |  | HTTP socket, dispatching the requests to a handler.  Code to create and | 
					
						
							| 
									
										
										
										
											1998-03-14 07:00:41 +00:00
										 |  |  | run the server looks like this: | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-02-13 06:58:54 +00:00
										 |  |  | \begin{verbatim} | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | def run(server_class=BaseHTTPServer.HTTPServer, | 
					
						
							|  |  |  |         handler_class=BaseHTTPServer.BaseHTTPRequestHandler): | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  |     server_address = ('', 8000) | 
					
						
							|  |  |  |     httpd = server_class(server_address, handler_class) | 
					
						
							|  |  |  |     httpd.serve_forever() | 
					
						
							| 
									
										
										
										
											1998-02-13 06:58:54 +00:00
										 |  |  | \end{verbatim} | 
					
						
							| 
									
										
										
										
											1998-03-14 07:00:41 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \begin{classdesc}{HTTPServer}{server_address, RequestHandlerClass} | 
					
						
							|  |  |  | This class builds on the \class{TCPServer} class by | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | storing the server address as instance | 
					
						
							| 
									
										
										
										
											1998-03-14 07:00:41 +00:00
										 |  |  | variables named \member{server_name} and \member{server_port}. The | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | server is accessible by the handler, typically through the handler's | 
					
						
							| 
									
										
										
										
											1998-03-14 07:00:41 +00:00
										 |  |  | \member{server} instance variable. | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \end{classdesc} | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \begin{classdesc}{BaseHTTPRequestHandler}{request, client_address, server} | 
					
						
							|  |  |  | This class is used | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | to handle the HTTP requests that arrive at the server. By itself, | 
					
						
							|  |  |  | it cannot respond to any actual HTTP requests; it must be subclassed | 
					
						
							|  |  |  | to handle each request method (e.g. GET or POST). | 
					
						
							| 
									
										
										
										
											1998-03-14 07:00:41 +00:00
										 |  |  | \class{BaseHTTPRequestHandler} provides a number of class and instance | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | variables, and methods for use by subclasses. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | The handler will parse the request and the headers, then call a | 
					
						
							|  |  |  | method specific to the request type. The method name is constructed | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | from the request. For example, for the request method \samp{SPAM}, the | 
					
						
							| 
									
										
										
										
											1998-03-14 07:00:41 +00:00
										 |  |  | \method{do_SPAM()} method will be called with no arguments. All of | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | the relevant information is stored in instance variables of the | 
					
						
							|  |  |  | handler.  Subclasses should not need to override or extend the | 
					
						
							|  |  |  | \method{__init__()} method. | 
					
						
							|  |  |  | \end{classdesc} | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-03-14 07:00:41 +00:00
										 |  |  | \class{BaseHTTPRequestHandler} has the following instance variables: | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \begin{memberdesc}{client_address} | 
					
						
							| 
									
										
										
										
											1998-03-14 07:00:41 +00:00
										 |  |  | Contains a tuple of the form \code{(\var{host}, \var{port})} referring | 
					
						
							|  |  |  | to the client's address. | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \end{memberdesc} | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \begin{memberdesc}{command} | 
					
						
							| 
									
										
										
										
											1998-03-14 07:00:41 +00:00
										 |  |  | Contains the command (request type). For example, \code{'GET'}. | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \end{memberdesc} | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \begin{memberdesc}{path} | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | Contains the request path. | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \end{memberdesc} | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \begin{memberdesc}{request_version} | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | Contains the version string from the request. For example, | 
					
						
							| 
									
										
										
										
											1998-03-14 07:00:41 +00:00
										 |  |  | \code{'HTTP/1.0'}. | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \end{memberdesc} | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \begin{memberdesc}{headers} | 
					
						
							| 
									
										
										
										
											1998-03-14 07:00:41 +00:00
										 |  |  | Holds an instance of the class specified by the \member{MessageClass} | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | class variable. This instance parses and manages the headers in | 
					
						
							|  |  |  | the HTTP request. | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \end{memberdesc} | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \begin{memberdesc}{rfile} | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | Contains an input stream, positioned at the start of the optional | 
					
						
							|  |  |  | input data. | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \end{memberdesc} | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \begin{memberdesc}{wfile} | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | Contains the output stream for writing a response back to the client. | 
					
						
							| 
									
										
										
										
											2000-07-16 19:01:10 +00:00
										 |  |  | Proper adherence to the HTTP protocol must be used when writing | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | to this stream. | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \end{memberdesc} | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \class{BaseHTTPRequestHandler} has the following class variables: | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \begin{memberdesc}{server_version} | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | Specifies the server software version.  You may want to override | 
					
						
							|  |  |  | this. | 
					
						
							|  |  |  | The format is multiple whitespace-separated strings, | 
					
						
							|  |  |  | where each string is of the form name[/version]. | 
					
						
							| 
									
										
										
										
											1998-03-14 07:00:41 +00:00
										 |  |  | For example, \code{'BaseHTTP/0.2'}. | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \end{memberdesc} | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \begin{memberdesc}{sys_version} | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | Contains the Python system version, in a form usable by the | 
					
						
							| 
									
										
										
										
											1998-03-14 07:00:41 +00:00
										 |  |  | \member{version_string} method and the \member{server_version} class | 
					
						
							|  |  |  | variable. For example, \code{'Python/1.4'}. | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \end{memberdesc} | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \begin{memberdesc}{error_message_format} | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | Specifies a format string for building an error response to the | 
					
						
							|  |  |  | client. It uses parenthesized, keyed format specifiers, so the | 
					
						
							|  |  |  | format operand must be a dictionary. The \var{code} key should | 
					
						
							| 
									
										
										
										
											2000-07-16 19:01:10 +00:00
										 |  |  | be an integer, specifying the numeric HTTP error code value. | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | \var{message} should be a string containing a (detailed) error | 
					
						
							|  |  |  | message of what occurred, and \var{explain} should be an | 
					
						
							|  |  |  | explanation of the error code number. Default \var{message} | 
					
						
							|  |  |  | and \var{explain} values can found in the \var{responses} | 
					
						
							|  |  |  | class variable. | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \end{memberdesc} | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \begin{memberdesc}{protocol_version} | 
					
						
							| 
									
										
										
										
											2002-03-17 18:37:22 +00:00
										 |  |  | This specifies the HTTP protocol version used in responses.  If set | 
					
						
							|  |  |  | to \code{'HTTP/1.1'}, the server will permit HTTP persistent | 
					
						
							|  |  |  | connections; however, your server \emph{must} then include an | 
					
						
							|  |  |  | accurate \code{Content-Length} header (using \method{send_header()}) | 
					
						
							|  |  |  | in all of its responses to clients.  For backwards compatibility, | 
					
						
							|  |  |  | the setting defaults to \code{'HTTP/1.0'}. | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \end{memberdesc} | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \begin{memberdesc}{MessageClass} | 
					
						
							| 
									
										
										
										
											1998-03-14 07:00:41 +00:00
										 |  |  | Specifies a \class{rfc822.Message}-like class to parse HTTP | 
					
						
							|  |  |  | headers. Typically, this is not overridden, and it defaults to | 
					
						
							|  |  |  | \class{mimetools.Message}. | 
					
						
							|  |  |  | \withsubitem{(in module mimetools)}{\ttindex{Message}} | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \end{memberdesc} | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \begin{memberdesc}{responses} | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | This variable contains a mapping of error code integers to two-element | 
					
						
							|  |  |  | tuples containing a short and long message. For example, | 
					
						
							| 
									
										
										
										
											1998-03-14 07:00:41 +00:00
										 |  |  | \code{\{\var{code}: (\var{shortmessage}, \var{longmessage})\}}. The | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | \var{shortmessage} is usually used as the \var{message} key in an | 
					
						
							|  |  |  | error response, and \var{longmessage} as the \var{explain} key | 
					
						
							| 
									
										
										
										
											1998-03-14 07:00:41 +00:00
										 |  |  | (see the \member{error_message_format} class variable). | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \end{memberdesc} | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-03-14 07:00:41 +00:00
										 |  |  | A \class{BaseHTTPRequestHandler} instance has the following methods: | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \begin{methoddesc}{handle}{} | 
					
						
							| 
									
										
										
										
											2002-03-17 18:37:22 +00:00
										 |  |  | Calls \method{handle_one_request()} once (or, if persistent connections | 
					
						
							|  |  |  | are enabled, multiple times) to handle incoming HTTP requests. | 
					
						
							|  |  |  | You should never need to override it; instead, implement appropriate | 
					
						
							|  |  |  | \method{do_*()} methods. | 
					
						
							|  |  |  | \end{methoddesc} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | \begin{methoddesc}{handle_one_request}{} | 
					
						
							|  |  |  | This method will parse and dispatch | 
					
						
							|  |  |  | the request to the appropriate \method{do_*()} method.  You should | 
					
						
							|  |  |  | never need to override it. | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \end{methoddesc} | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \begin{methoddesc}{send_error}{code\optional{, message}} | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | Sends and logs a complete error reply to the client. The numeric | 
					
						
							|  |  |  | \var{code} specifies the HTTP error code, with \var{message} as | 
					
						
							|  |  |  | optional, more specific text. A complete set of headers is sent, | 
					
						
							| 
									
										
										
										
											1998-03-14 07:00:41 +00:00
										 |  |  | followed by text composed using the \member{error_message_format} | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | class variable. | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \end{methoddesc} | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \begin{methoddesc}{send_response}{code\optional{, message}} | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | Sends a response header and logs the accepted request. The HTTP | 
					
						
							|  |  |  | response line is sent, followed by \emph{Server} and \emph{Date} | 
					
						
							|  |  |  | headers. The values for these two headers are picked up from the | 
					
						
							| 
									
										
										
										
											1998-03-14 07:00:41 +00:00
										 |  |  | \method{version_string()} and \method{date_time_string()} methods, | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | respectively. | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \end{methoddesc} | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \begin{methoddesc}{send_header}{keyword, value} | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | Writes a specific MIME header to the output stream. \var{keyword} | 
					
						
							|  |  |  | should specify the header keyword, with \var{value} specifying | 
					
						
							|  |  |  | its value. | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \end{methoddesc} | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \begin{methoddesc}{end_headers}{} | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | Sends a blank line, indicating the end of the MIME headers in | 
					
						
							|  |  |  | the response. | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \end{methoddesc} | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \begin{methoddesc}{log_request}{\optional{code\optional{, size}}} | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | Logs an accepted (successful) request. \var{code} should specify | 
					
						
							|  |  |  | the numeric HTTP code associated with the response. If a size of | 
					
						
							|  |  |  | the response is available, then it should be passed as the | 
					
						
							|  |  |  | \var{size} parameter. | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \end{methoddesc} | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \begin{methoddesc}{log_error}{...} | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | Logs an error when a request cannot be fulfilled. By default, | 
					
						
							| 
									
										
										
										
											1998-03-14 07:00:41 +00:00
										 |  |  | it passes the message to \method{log_message()}, so it takes the | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | same arguments (\var{format} and additional values). | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \end{methoddesc} | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \begin{methoddesc}{log_message}{format, ...} | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | Logs an arbitrary message to \code{sys.stderr}. This is typically | 
					
						
							|  |  |  | overridden to create custom error logging mechanisms. The | 
					
						
							|  |  |  | \var{format} argument is a standard printf-style format string, | 
					
						
							| 
									
										
										
										
											1998-03-14 07:00:41 +00:00
										 |  |  | where the additional arguments to \method{log_message()} are applied | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | as inputs to the formatting. The client address and current date | 
					
						
							|  |  |  | and time are prefixed to every message logged. | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \end{methoddesc} | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \begin{methoddesc}{version_string}{} | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | Returns the server software's version string. This is a combination | 
					
						
							| 
									
										
										
										
											1998-03-14 07:00:41 +00:00
										 |  |  | of the \member{server_version} and \member{sys_version} class variables. | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \end{methoddesc} | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \begin{methoddesc}{date_time_string}{} | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | Returns the current date and time, formatted for a message header. | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \end{methoddesc} | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \begin{methoddesc}{log_data_time_string}{} | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | Returns the current date and time, formatted for logging. | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \end{methoddesc} | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \begin{methoddesc}{address_string}{} | 
					
						
							| 
									
										
										
										
											1997-12-29 20:01:55 +00:00
										 |  |  | Returns the client address, formatted for logging. A name lookup | 
					
						
							|  |  |  | is performed on the client's IP address. | 
					
						
							| 
									
										
										
										
											1998-04-04 07:15:02 +00:00
										 |  |  | \end{methoddesc} | 
					
						
							| 
									
										
										
										
											1999-06-14 19:49:50 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | \begin{seealso} | 
					
						
							|  |  |  |   \seemodule{CGIHTTPServer}{Extended request handler that supports CGI | 
					
						
							|  |  |  |                             scripts.} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   \seemodule{SimpleHTTPServer}{Basic request handler that limits response | 
					
						
							|  |  |  |                                to files actually under the document root.} | 
					
						
							|  |  |  | \end{seealso} |