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'
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.

Parameters:
  • name (bytes) - A single path component from a requested URL. For example, a request for http://example.com/foo/bar will result in calls to this method with b"foo" and b"bar" as values for this argument.
  • request (twisted.web.server.Request) - A representation of all of the information about the request that is being made for this child.

putChild(path, child)

 

Put a child IResource implementor at the given path.

Parameters:
  • path (bytes) - A single path component, to be interpreted relative to the path this resource is found at, at which to put the given child. For example, if resource A can be found at http://example.com/foo then a call like A.putChild(b"bar", B) will make resource B available at http://example.com/foo/bar.

render(request)

 

Render a request. This is called on the leaf resource for a request.

Returns:
Either server.NOT_DONE_YET to indicate an asynchronous or a bytes instance to write as the response to the request. If NOT_DONE_YET is returned, at some point later (for example, in a Deferred callback) call request.write(b"<html>") to write data to the request, and request.finish() to send the data to the browser.
Raises:
  • twisted.web.error.UnsupportedMethod - 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>)