Package twisted :: Package web :: Module xmlrpc :: Class XMLRPC
[frames | no frames]

Class XMLRPC

Resource --+
           |
          XMLRPC

Known Subclasses:
XMLRPCIntrospection

A resource that implements XML-RPC.

You probably want to connect this to '/RPC2'.

Methods published can return XML-RPC serializable results, Faults, Binary, Boolean, DateTime, Deferreds, or Handler instances.

By default methods beginning with 'xmlrpc_' are published.

Sub-handlers for prefixed methods (e.g., system.listMethods) can be added with putSubHandler. By default, prefixes are separated with a '.'. Override self.separator to change this.
Method Summary
  __init__(self)
Initialize.
  _cbRender(self, result, request)
  _ebRender(self, failure)
  _getFunction(self, functionPath)
Given a string, return a function, or raise NoSuchFunction.
  _listFunctions(self)
Return a list of the names of all xmlrpc methods.
  getSubHandler(self, prefix)
  getSubHandlerPrefixes(self)
  putSubHandler(self, prefix, handler)
  render(self, request)
Render a given resource.
    Inherited from Resource
  delEntity(self, name)
  getChild(self, path, request)
Retrieve a 'child' resource from me.
  getChildForRequest(self, request)
  getChildWithDefault(self, path, request)
Retrieve a static or dynamically generated child resource from me.
  getDynamicEntity(self, name, request)
  getStaticEntity(self, name)
  listDynamicEntities(self, request)
  listDynamicNames(self)
  listEntities(self)
  listNames(self)
  listStaticEntities(self)
  listStaticNames(self)
  putChild(self, path, child)
Register a static child.
  reallyPutEntity(self, name, entity)
  render_HEAD(self, request)
Default handling of HEAD method.

Class Variable Summary
int FAILURE = 8002                                                                  
int isLeaf = 1                                                                     
int NOT_FOUND = 8001                                                                  
str separator = '.'
    Inherited from Resource
tuple __implements__ = (<class twisted.web.resource.IResource ...
NoneType server = None                                                                  

Method Details

__init__(self)
(Constructor)

Initialize.
Overrides:
twisted.web.resource.Resource.__init__ (inherited documentation)

_getFunction(self, functionPath)

Given a string, return a function, or raise NoSuchFunction.

This returned function will be called, and should return the result of the call, a Deferred, or a Fault instance.

Override in subclasses if you want your own policy. The default policy is that given functionPath 'foo', return the method at self.xmlrpc_foo, i.e. getattr(self, "xmlrpc_" + functionPath). If functionPath contains self.separator, the sub-handler for the initial prefix is used to search for the remaining path.

_listFunctions(self)

Return a list of the names of all xmlrpc methods.

render(self, request)

Render a given resource. See IResource's render method.

I delegate to methods of self with the form 'render_METHOD' where METHOD is the HTTP that was used to make the request. Examples: render_GET, render_HEAD, render_POST, and so on. Generally you should implement those methods instead of overriding this one.

render_METHOD methods are expected to return a string which will be the rendered page, unless the return value is twisted.web.server.NOT_DONE_YET, in which case it is this class's responsibility to write the results to request.write(data), then call request.finish().

Old code that overrides render() directly is likewise expected to return a string or NOT_DONE_YET.
Overrides:
twisted.web.resource.Resource.render (inherited documentation)

Class Variable Details

FAILURE

Type:
int
Value:
8002                                                                  

isLeaf

Type:
int
Value:
1                                                                     

NOT_FOUND

Type:
int
Value:
8001                                                                  

separator

Type:
str
Value:
'.'                                                                    

Generated by Epydoc 2.0 on Sat May 15 20:08:15 2004 http://epydoc.sf.net