\section{\module{DocXMLRPCServer} --- Self-documenting XML-RPC server} \declaremodule{standard}{DocXMLRPCServer} \modulesynopsis{Self-documenting XML-RPC server implementation.} \moduleauthor{Brian Quinlan}{brianq@activestate.com} \sectionauthor{Brian Quinlan}{brianq@activestate.com} \versionadded{2.3} The \module{DocXMLRPCServer} module extends the classes found in \module{SimpleXMLRPCServer} to serve HTML documentation in response to HTTP GET requests. Servers can either be free standing, using \class{DocXMLRPCServer}, or embedded in a CGI environment, using \class{DocCGIXMLRPCRequestHandler}. \begin{classdesc}{DocXMLRPCServer}{addr\optional{, requestHandler\optional{, logRequests\optional{, allow_none\optional{, encoding\optional{, bind_and_activate}}}}}} Create a new server instance. All parameters have the same meaning as for \class{SimpleXMLRPCServer.SimpleXMLRPCServer}; \var{requestHandler} defaults to \class{DocXMLRPCRequestHandler}. \end{classdesc} \begin{classdesc}{DocCGIXMLRPCRequestHandler}{} Create a new instance to handle XML-RPC requests in a CGI environment. \end{classdesc} \begin{classdesc}{DocXMLRPCRequestHandler}{} Create a new request handler instance. This request handler supports XML-RPC POST requests, documentation GET requests, and modifies logging so that the \var{logRequests} parameter to the \class{DocXMLRPCServer} constructor parameter is honored. \end{classdesc} \subsection{DocXMLRPCServer Objects \label{doc-xmlrpc-servers}} The \class{DocXMLRPCServer} class is derived from \class{SimpleXMLRPCServer.SimpleXMLRPCServer} and provides a means of creating self-documenting, stand alone XML-RPC servers. HTTP POST requests are handled as XML-RPC method calls. HTTP GET requests are handled by generating pydoc-style HTML documentation. This allows a server to provide its own web-based documentation. \begin{methoddesc}{set_server_title}{server_title} Set the title used in the generated HTML documentation. This title will be used inside the HTML "title" element. \end{methoddesc} \begin{methoddesc}{set_server_name}{server_name} Set the name used in the generated HTML documentation. This name will appear at the top of the generated documentation inside a "h1" element. \end{methoddesc} \begin{methoddesc}{set_server_documentation}{server_documentation} Set the description used in the generated HTML documentation. This description will appear as a paragraph, below the server name, in the documentation. \end{methoddesc} \subsection{DocCGIXMLRPCRequestHandler} The \class{DocCGIXMLRPCRequestHandler} class is derived from \class{SimpleXMLRPCServer.CGIXMLRPCRequestHandler} and provides a means of creating self-documenting, XML-RPC CGI scripts. HTTP POST requests are handled as XML-RPC method calls. HTTP GET requests are handled by generating pydoc-style HTML documentation. This allows a server to provide its own web-based documentation. \begin{methoddesc}{set_server_title}{server_title} Set the title used in the generated HTML documentation. This title will be used inside the HTML "title" element. \end{methoddesc} \begin{methoddesc}{set_server_name}{server_name} Set the name used in the generated HTML documentation. This name will appear at the top of the generated documentation inside a "h1" element. \end{methoddesc} \begin{methoddesc}{set_server_documentation}{server_documentation} Set the description used in the generated HTML documentation. This description will appear as a paragraph, below the server name, in the documentation. \end{methoddesc}