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