gpt4 book ai didi

python - 如何将HTTP端点添加到spyne WsgiApplication

转载 作者:太空宇宙 更新时间:2023-11-03 17:30:13 24 4
gpt4 key购买 nike

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

基本结构与 spyne.io 上的结构一致

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()

最佳答案

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

例如:

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)
})

..将配置一台服务器,其中 spyne application将从根目录提供服务,并且 create_web_app app 中的所有内容都将从 /www 提供服务。 (要访问 /about 页面,您需要路由到 http://localhost:8080/www/about)

在此示例中,create_web_app 返回 Flask应用程序。

关于python - 如何将HTTP端点添加到spyne WsgiApplication,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31952473/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com