Class XMLRPCController
source code
object --+
|
XMLRPCController
A Controller (page handler collection) for XML-RPC.
To use it, have your controllers subclass this base class (it will
turn on the tool for you).
You can also supply the following optional config entries:
tools.xmlrpc.encoding: 'utf-8'
tools.xmlrpc.allow_none: 0
XML-RPC is a rather discontinuous layer over HTTP; dispatching to the
appropriate handler must first be performed according to the URL, and
then a second dispatch step must take place according to the RPC method
specified in the request body. It also allows a superfluous
"/RPC2" prefix in the URL, supplies its own handler args in the
body, and requires a 200 OK "Fault" response instead of 404
when the desired method is not found.
Therefore, XML-RPC cannot be implemented for CherryPy via a Tool
alone. This Controller acts as the dispatch target for the first half
(based on the URL); it then reads the RPC method from the request body
and does its own second dispatch step based on that method. It also reads
body params, and returns a Fault on error.
The XMLRPCDispatcher strips any /RPC2 prefix; if you aren't using
/RPC2 in your URL's, you can safely skip turning on the XMLRPCDispatcher.
Otherwise, you need to use declare it in config:
request.dispatch: cherrypy.dispatch.XMLRPCDispatcher()
|
|
Inherited from object :
__delattr__ ,
__format__ ,
__getattribute__ ,
__hash__ ,
__init__ ,
__new__ ,
__reduce__ ,
__reduce_ex__ ,
__repr__ ,
__setattr__ ,
__sizeof__ ,
__str__ ,
__subclasshook__
|
|
_cp_config = { ' tools.xmlrpc.on ' : True}
|
Inherited from object :
__class__
|