首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何向spyne WsgiApplication添加HTTP端点

如何向spyne WsgiApplication添加HTTP端点
EN

Stack Overflow用户
提问于 2015-08-11 21:43:18
回答 1查看 780关注 0票数 2

如果我有一个从spyne.Application继承并通过spyne.WsgiApplication对象提供服务的spyne应用程序,我将如何向//info等WSGI服务器添加自定义HTTP端点

基本结构反映了在spyne.io上找到的结构

代码语言:javascript
复制
class HelloWorldService(ServiceBase):
    @srpc(Unicode, Integer, _returns=Iterable(Unicode))
    def say_hello(name, times):
        for i in range(times):
            yield 'Hello, %s' % name

application = Application([HelloWorldService], # <--- spyne.Application
    tns='spyne.examples.hello',
    in_protocol=Soap11(validator='lxml'),
    out_protocol=JsonDocument()
)

if __name__ == '__main__':
    from wsgiref.simple_server import make_server

    wsgi_app = WsgiApplication(application)    # <--- spyne.WsgiApplication
    server = make_server('0.0.0.0', 8000, wsgi_app)
    server.serve_forever()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-17 17:24:54

spyne中,导入from spyne.util.wsgi_wrapper import WsgiMounter (来源)将允许您使用单个字典参数调用WsgiMounter函数。字典的键表示根端点的扩展,值是与WSGI兼容的应用程序。

例如:

代码语言:javascript
复制
def create_web_app(config):
    app = Flask(__name__)

    @app.route('/about')
    def about():
        return 'About Page'

    return app

wsgi_app = WsgiMounter({
    '': SpyneAppWsgi(app),
    'www': create_web_app(config)
})

..will配置一个服务器,其中spyne应用将从根服务器得到服务,而create_web_app app中的所有内容都将从/www配置。(要进入/about页面,您可以路由到http://localhost:8080/www/about)

在本例中,create_web_app返回一个Flask应用程序。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31952473

复制
相关文章

相似问题

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