[Twisted-Python] IResource and http.Site()
Jon Parise
jon at csh.rit.edu
Mon Aug 14 20:48:24 MDT 2006
Jon Parise wrote:
> Jon Parise wrote:
>> I'm relatively new to Twisted, so apologies if I'm missing something
>> obvious. I'm using Twisted 2.4, and I'm trying to use twisted.web
>> with my own resource implementation.
>>
>> It looks like my options are to either derive from http.Resource or
>> implement the http.IResource interface directly. I've decided to
>> start with the latter.
>>
>> The IResource interface declares three methods:
>>
>> getChildWithDefault(self, name, request)
>> putChild(self, path, child)
>> render(self, request)
>>
>> However, parts of http.Site() (such as getResourceFor()) expect my
>> object to offer additional methods (such as getChildForRequest())
>> which are not part of the interface.
>>
>> My question is therefore: Is http.Site() only compatible with Resource
>> (and not IResource), or should the IResource interface include some
>> additional methods, such as getChildForRequest()?
>
> Or perhaps Door Number 3:
>
> Should http.Site() be updated to use the module-level
> http.getChildForRequest() instead of Resource.getChildForRequest(), as
> suggested by this code in Resource.getChildForRequest():
>
> def getChildForRequest(self, request):
> import warnings
> warnings.warn("Please use module level getChildForRequest.",
> DeprecationWarning, 2)
> return getChildForRequest(self, request)
>
... which is what it's actually doing. I'm so sorry - I misread
resource.getChildForRequest() for Resource.getChildForRequest(). My
code is causing a different but related error, and I went down the wrong
path.
Apologies for jumping the gun on this one! It must be the heat. =)
--
Jon Parise (jon of csh.rit.edu) :: http://www.csh.rit.edu/~jon/
More information about the Twisted-Python
mailing list