twisted.web.resource.IResource

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 57052840>`

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.

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>)