首页
学习
活动
专区
圈层
工具
发布

扭子
EN

Stack Overflow用户
提问于 2018-04-10 14:16:59
回答 1查看 98关注 0票数 0

我试图创建一个嵌套资源(子子),其中主子节点没有任何内容,只是一个虚拟页面(如果有的话)。因此,例如,我试图创建以下资源。

代码语言:javascript
复制
/saml/login
/saml/logout
/saml/acs
/saml/sls

但是我没有或者真的需要一个/saml资源,只是需要孩子。

我不知道如何添加一个子子,更不用说没有父级的子子了,如果需要的话,我可以创建一个虚拟的/saml资源,但仍然需要嵌套的页面。

这是我到目前为止所拥有的。

代码语言:javascript
复制
class Hello(Resource):
    isLeaf = True

    def getChild(self, name, request):
        if name == '':
            return self
        return Resource.getChild(self, name, request)

    def render_GET(self, request):
        return b"Hello, world! I am located at"

class SamlManager(object):
    def __init__(self, **kwargs):
        for k, v in kwargs.items():
            setattr(self, k, v)
        self.login_callback = None

    def init_app(self, root):
        root.saml_manager = self  # expose for login_from_acs
        root.putChild(b'saml', Hello())
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-10 18:01:38

对于请求时要返回404响应的资源,可以使用NoResource

代码语言:javascript
复制
from twisted.web.resource import Resource, NoResource

saml = NoResource()
saml.putChild(b"login", ...)
saml.putChild(b"logout", ...)
...

root = Resource()
root.putChild(b"saml", saml)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49755976

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档