Я прошу вас помочь мне найти источник проблем с помощью следующего кода.
Я использовал страницу http://jcalderone.livejournal.com/53074.html в качестве руководства.
Единственное отличие моего кода в том, что ресурс не подается из файла .rpy.
Также нигде нет вызова cache ().
Результат открытия страницы на
https://serveraddr:serverport/services/admin - 403 Запрещено.
Он должен показать выходные данные UpdateManager.render_GET ().
В server.tac:
...
root = resource.ForbiddenResource()
err = resource.ForbiddenResource()
root.putChild("service", err)
upd = UpdateXMLProcessor()
err.putChild("update2", upd)
portal = Portal(PublicHTMLRealm(), [FilePasswordDB('httpd.password')])
credentialFactory = DigestCredentialFactory("md5", "House of Life Updates")
admin = HTTPAuthSessionWrapper(portal, [credentialFactory])
err.putChild('admin', admin)
...
В auth.py:
class PublicHTMLRealm(object):
implements(IRealm)
def requestAvatar(self, avatarId, mind, *interfaces):
if IResource in interfaces:
resc = UpdateManager()
resc.realm = self
return (IResource, resc, lambda: None)
raise NotImplementedError()
в admin.py:
class UpdateManager(resource.Resource):
isLeaf = False
pathFromRoot = '/service/admin'
def __init__(self):
resource.Resource.__init__(self)
self.newFull = NewFullResource()
self.putChild('new_full', self.newFull)
self.newDelta = NewDeltaResource()
self.putChild('new_delta', self.newDelta)
self.switch = SwitchResource()
self.putChild('switch', self.switch)
self.putChild('', self)
def render_GET(self, request):
...
Что-то не так здесь в этих частях кода?
У меня нет ошибок, отображаемых в консоли, работающей с
twistd -ny server.tac