# 20.25. `DocXMLRPCServer` — Self-documenting XML-RPC server

Note

The `DocXMLRPCServer` module has been merged into `xmlrpc.server` in Python 3. The 2to3 tool will automatically adapt imports when converting your sources to Python 3.

New in version 2.3.

The `DocXMLRPCServer` module extends the classes found in `SimpleXMLRPCServer` to serve HTML documentation in response to HTTP GET requests. Servers can either be free standing, using `DocXMLRPCServer`, or embedded in a CGI environment, using `DocCGIXMLRPCRequestHandler`.

class `DocXMLRPCServer.``DocXMLRPCServer`(addr[, requestHandler[, logRequests[, allow_none[, encoding[, bind_and_activate]]]]])

  Create a new server instance. All parameters have the same meaning as for `SimpleXMLRPCServer.SimpleXMLRPCServer`; requestHandler defaults to `DocXMLRPCRequestHandler`.

class `DocXMLRPCServer.``DocCGIXMLRPCRequestHandler`

  Create a new instance to handle XML-RPC requests in a CGI environment.

class `DocXMLRPCServer.``DocXMLRPCRequestHandler`

  Create a new request handler instance. This request handler supports XML-RPC POST requests, documentation GET requests, and modifies logging so that the logRequests parameter to the `DocXMLRPCServer` constructor parameter is honored.

## 20.25.1. DocXMLRPCServer Objects

The `DocXMLRPCServer` class is derived from `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.

`DocXMLRPCServer.``set_server_title`(server_title)

  Set the title used in the generated HTML documentation. This title will be used inside the HTML “title” element.

`DocXMLRPCServer.``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.

`DocXMLRPCServer.``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.

## 20.25.2. DocCGIXMLRPCRequestHandler

The `DocCGIXMLRPCRequestHandler` class is derived from `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.

`DocCGIXMLRPCRequestHandler.``set_server_title`(server_title)

  Set the title used in the generated HTML documentation. This title will be used inside the HTML “title” element.

`DocCGIXMLRPCRequestHandler.``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.

`DocCGIXMLRPCRequestHandler.``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.