Source code for txspinneret.interfaces

from zope.interface import Attribute, Interface



[docs]class ISpinneretResource(Interface): """ Spinneret resource. Spinneret resources may additionally have methods like ``render_GET`` (to handle a ``GET`` request) ``render_POST`` etc., like `IResource`, that may return the same types of objects as `ISpinneretResource.locateChild`. Adaptable to `IResource`. """
[docs] def locateChild(request, segments): """ Locate another object which can be adapted to `IResource`. :type request: `IRequest <twisted:twisted.web.iweb.IRequest>` :param request: Request. :type segments: ``sequence`` of `bytes` :param segments: Sequence of strings giving the remaining query segments to resolve. :rtype: 2-`tuple` of `IResource`, `IRenderable` or `URLPath` and a ``sequence`` of `bytes` :return: Pair of an `IResource`, `IRenderable` or `URLPath` and a sequence of the remaining path segments to be process, or a `Deferred` containing the aforementioned result. """
[docs]class INegotiableResource(Interface): """ Resource used for content negotiation. The implementation should be adaptable to `IResource <twisted:twisted.web.resource.IResource>`. """ contentType = Attribute( """ `bytes` indicating the content type of this resource when rendered. """) acceptTypes = Attribute( """ `list` of `bytes` indicating the content types this resource is capable of accepting. """)