11.23.2 CGIXMLRPCRequestHandler
The CGIXMLRPCRequestHandler class can be used to handle XML-RPC requests sent to Python CGI scripts.
- Register a function that can respond to XML-RPC requests. If name is given, it will be the method name associated with function, otherwise function.__name__ will be used. name can be either a normal or Unicode string, and may contain characters not legal in Python identifiers, including the period character.
- Register an object which is used to expose method names which have not been registered using register_function(). If instance contains a _dispatch() method, it is called with the requested method name and the parameters from the request; the return value is returned to the client as the result. If instance does not have a _dispatch() method, it is searched for an attribute matching the name of the requested method; if the requested method name contains periods, each component of the method name is searched for individually, with the effect that a simple hierarchical search is performed. The value found from this search is then called with the parameters from the request, and the return value is passed back to the client.
-
Register the XML-RPC introspection functions
system.listMethods
,system.methodHelp
andsystem.methodSignature
.
-
Register the XML-RPC multicall function
system.multicall
.
- Handle a XML-RPC request. If request_text is given, it should be the POST data provided by the HTTP server, otherwise the contents of stdin will be used.
Example:
class MyFuncs: def div(self, x, y) : return div(x,y) handler = CGIXMLRPCRequestHandler() handler.register_function(pow) handler.register_function(lambda x,y: x+y, 'add') handler.register_introspection_functions() handler.register_instance(MyFuncs()) handler.handle_request()