twisted :: web :: resource :: IResource :: Class IResource
[frames] | no frames]

Class IResource

zope.interface.Interface --+
                           |
                          IResource

A web resource.

Instance Methods
 
getChildWithDefault(name, request)
Return a child with the given name for the given request.
 
putChild(path, child)
Put a child IResource implementor at the given path.
 
render(request)
Render a request.
Class Variables
  isLeaf = Attribute(...
  __bases__ = (<InterfaceClass zope.interface.Interface>)
  __identifier__ = 'twisted.web.resource.IResource'
  __iro__ = (<InterfaceClass twisted.web.resource.IResource>, <I...
  __name__ = 'IResource'
  __sro__ = (<InterfaceClass twisted.web.resource.IResource>, <I...
  dependents = <WeakKeyDictionary at 43904248>
Method Details

getChildWithDefault(name, request)

 

Return a child with the given name for the given request. This is the external interface used by the Resource publishing machinery. If implementing IResource without subclassing Resource, it must be provided. However, if subclassing Resource, getChild overridden instead.

render(request)

 

Render a request. This is called on the leaf resource for a request. Render must return either a string, which will be sent to the browser as the HTML for the request, or server.NOT_DONE_YET. If NOT_DONE_YET is returned, at some point later (in a Deferred callback, usually) call request.write("<html>") to write data to the request, and request.finish() to send the data to the browser.

twisted.web.error.UnsupportedMethod can be raised if the HTTP verb requested is not supported by this resource.


Class Variable Details

isLeaf

Value:
Attribute("""
        Signal if this IResource implementor is a "leaf node" or not. \
If True,
        getChildWithDefault will not be called on this Resource.
        """)

__iro__

Value:
(<InterfaceClass twisted.web.resource.IResource>,
 <InterfaceClass zope.interface.Interface>)

__sro__

Value:
(<InterfaceClass twisted.web.resource.IResource>,
 <InterfaceClass zope.interface.Interface>)